【问题标题】:How to check if the OS is a Debian derivative (Python)如何检查操作系统是否是 Debian 衍生产品(Python)
【发布时间】:2019-02-02 14:04:21
【问题描述】:

有什么好方法可以通过 Python 脚本确定操作系统是否是 Debian 衍生产品(而且将来我需要 Fedora、FreeBSD 等的相同功能)?

我需要这个来选择是使用dpkg -s 命令来确定安装了哪个软件,还是回退到检查PATH 中是否有命令。

例如判断是否安装了xsltproc包(如果可能的话,它的版本),如果是Debian或衍生系统,我使用dpkg -s xsltproc,否则检查PATH中是否有xsltproc .

【问题讨论】:

  • 有一天,所有发行版都将使用FlatPack

标签: python operating-system debian


【解决方案1】:

有些人可能会鼓励您寻找您想要使用的功能而不是发行版,然后据此推断您应该使用什么。例如,如果您想使用dpkg,请检查它是否存在,然后尽可能使用它。

但是,这并不能回答您的具体问题...您如何才能真正知道您在哪个发行版上运行?根据您运行的 Python 版本,有几个选项:

  1. 使用platform.linux_distribution()。正如here 所记录的,它将返回一个(distro name, version, id) 的元组。但是,它在 Python 3 中已被弃用,并将在 3.8 中删除。
  2. 使用distro 包。正如here 所记录的那样,您可以通过安装此软件包然后调用distro.linux_distribution() 获得非常相似的东西。发行说明说这将适用于 2.7 和 3.4+。

还有比这更旧的选项,但它们自 2.6 以来已被弃用,因此我没有将它们包括在此处。

【讨论】:

    猜你喜欢
    • 2010-09-16
    • 1970-01-01
    • 2012-08-16
    • 1970-01-01
    • 2014-11-14
    • 2021-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多