【问题标题】:What is alternative of platform.dist and platform.linux_distribution in python3python3中platform.dist和platform.linux_distribution的替代方法是什么
【发布时间】:2018-04-22 02:54:52
【问题描述】:

上面写着here Platform.dist() 和 platform.linux_distribution 在 3.5 版中已弃用,并将在 3.7 版中删除(当前版本 3.6。 5 和 3.7 处于预览模式)。而且我找不到任何关于如何在 python3 中查找/获取 linux 发行版名称的方法!

有什么办法吗?提前致谢。

【问题讨论】:

    标签: python linux python-3.x


    【解决方案1】:

    经过一番小小的搜索,找到了here,可以用pip install distro安装。 然后import distro 而不是import platform

    import distro 
    print(distro.linux_distribution())
    

    输出:

    ('Ubuntu', '18.04', 'Bionic Beaver')
    

    我已经在 python 版本 3.4、3.5、3.6、3.7 中进行了测试,并且运行良好。

    【讨论】:

    • 您好,欢迎来到 StackOverflow!如果您提供外部链接,请尝试并始终包含一个小代码示例或文本摘录。在这种情况下,您可以快速演示您找到的模块如何提供所需的信息,以及信息的外观。
    • 你的意思是这样的吗? import distro print(distro.linux_distribution()) ('Ubuntu', '18.04', 'Bionic Beaver')
    • 是的,这是一个很好的例子。您可以再次编辑您的问题并将其包含在内以确保完整性。
    【解决方案2】:

    我没有搜索很多,但是如果你想要版本信息,一个简单的方法,也许python的platform.linux_distribution无论如何都做了,就是读取文件

    /etc/*-release 或者 /proc/version

    看看你能从他们那里得到什么。 ^^'

    只要它不在代码的性能关键部分。

    祝你有美好的一天!

    【讨论】:

    • 好的..我有一些时间可以杀死..如果我没有找到任何其他解决方案,我会尝试这个并将您的标记为正确答案。 (如果有效)
    • 当然,如果您想在升级到 python 7 时与旧代码保持兼容,您可以将其封装在您自己的 platform.distribution 模块中。;)(可能需要给一个不同的名称并做一些事情搜索/替换文件。)
    【解决方案3】:

    这个 pip 包解决了它。 [不限于python 3.7问题]

    https://github.com/nir0s/distro

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-05
      • 1970-01-01
      • 2022-11-13
      • 1970-01-01
      • 2015-01-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多