不推荐使用platform.linux_distribution() - 有哪些替代方案?

时间:2018-03-29 11:03:45

标签: python linux

从Python> 3.5开始,函数platform.linux_distribution()被弃用: https://docs.python.org/3.5/library/platform.html#platform.linux_distribution

有没有直接替代它的东西?

不幸的是,对于我来说,platform.uname()不会产生我需要的信息,因为我在docker容器中构建,这会返回主机的详细信息而不是图像。

特别是:我正在构建一个可移植的Linux发行版(https://www.python.org/dev/peps/pep-0513/),并希望在规范的CentOS 5.11发行版上进行测试。我正在寻找一种识别操作系统的简单方法,以便识别/标记构建结果。

2 个答案:

答案 0 :(得分:6)

根据this,{@ 1}}将从Python 3.7开始弃用。我可以确认它确实存在于3.6中。该链接建议使用distro包作为替代方案。

安装软件包后,您可以

platform.linux_distribution()

答案 1 :(得分:0)

另一个选项是platform.uname()

>>> import platform
>>> platform.uname()
uname_result(system='Linux', node='lensman', release='4.19.84', version='#1-NixOS SMP Tue Nov 12 18:21:46 UTC 2019', machine='x86_64', processor='')