跳转到主要内容

Distro - 一个操作系统平台信息API

项目描述

Distro - 一个操作系统平台信息API

CI Status PyPI version Supported Python Versions Code Coverage Is Wheel Latest Github Release

distro 提供关于运行在其上的操作系统发行版的信息,例如可靠的机器可读ID或版本信息。

它是Python原始 platform.linux_distribution 函数的推荐替代品(在Python 3.8中已删除)。它还提供了许多功能,这些功能不一定与Python绑定,例如命令行界面。

Distro目前支持基于Linux和BSD的系统,但Windows和OS X支持也计划中。

关于Python 2.6的支持,请参阅https://github.com/python-distro/distro/tree/python2.6-support

安装

从PyPI安装最新发布版本

pip install distro

安装最新开发版本

pip install https://github.com/python-distro/distro/archive/master.tar.gz

作为独立脚本使用,直接下载distro.py

curl -O https://raw.githubusercontent.com/python-distro/distro/master/src/distro/distro.py
python distro.py

distro对于不希望添加依赖的项目来说是安全的。

cd myproject
curl -O https://raw.githubusercontent.com/python-distro/distro/master/src/distro/distro.py

使用方法

$ distro
Name: Antergos Linux
Version: 2015.10 (ISO-Rolling)
Codename: ISO-Rolling

$ distro -j
{
    "codename": "ISO-Rolling",
    "id": "antergos",
    "like": "arch",
    "version": "16.9",
    "version_parts": {
        "build_number": "",
        "major": "16",
        "minor": "9"
    }
}


$ python
>>> import distro
>>> distro.name(pretty=True)
'CentOS Linux 8'
>>> distro.id()
'centos'
>>> distro.version(best=True)
'8.4.2105'

文档

除了上述API之外,还有一些其他功能可用。关于API的完整描述,请参阅最新API文档

背景

由于Python 3.5废弃了此功能,Python 3.8完全删除了它,因此有必要提供另一种实现。其前身函数platform.dist自Python 2.6以来就已经被废弃,并在Python 3.8中被删除。尽管如此,仍然有许多情况下需要访问这些信息。有关更多信息,请参阅Python问题1322

distro包通过新的标准和旧方法,即从以下数据源(按优先级从高到低)实现了一种稳健且包容性的方式来检索有关发行版的信息:

  • 如果存在,则使用/etc/os-release文件,如果需要,则回退到/usr/lib/os-release
  • 如果可用,则使用lsb_release命令的输出。
  • 如果存在,则使用发行版版本文件(/etc/*(-|_)(release|version))。
  • 对于基于BSD的发行版,使用uname命令。

Python和发行版支持

distro在Python 3.6+和PyPy上受支持并经过测试,并且在任何提供所涵盖数据源之一的发行版上受支持。

此包使用模拟一些Linux发行版的数据源的确切行为的测试数据进行了测试。

测试

git clone git@github.com:python-distro/distro.git
cd distro
pip install tox
tox

贡献

欢迎提交针对特定发行版的拉取请求,或者只是为了一般的乐趣。

有关贡献信息,请参阅CONTRIBUTIONS

支持额外发行版和文件格式的参考实现可以在此处找到

包管理发行版

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

distro-1.9.0.tar.gz (60.7 kB 查看哈希值)

上传时间:

构建的发行版

distro-1.9.0-py3-none-any.whl (20.3 kB 查看哈希值)

上传时间 Python 3

支持者

AWSAWS云计算和安全赞助商DatadogDatadog监控FastlyFastlyCDNGoogleGoogle下载分析MicrosoftMicrosoftPSF赞助商PingdomPingdom监控SentrySentry错误日志StatusPageStatusPage状态页面