python lsb_release 在 debian 9 中不起作用

python lsb_release 在 debian 9 中不起作用

我无法让 lsb_release 模块在 debian 9 上的 python 2.7 或 3 中工作。我还没有在 debian 8 上尝试过,但我需要它在两者上都工作。

这是我尝试过的:

import lsb_release
print(lsb_release.get_lsb_information())

它返回{}我没有收到导入错误,我不知道为什么它不起作用。另外,当通过 sudo 运行脚本时user = os.environ['SUDO_USER']出现关键错误,SUDO_USER 不存在?是什么赋予了?

答案1

请不要在一个问题中提出多个问题。

关于你的第一个问题,你应该使用get_distro_information()get_lsb_information()在内部用于加载覆盖/etc/lsb-releaseget_distro_information()使用它以及类中的其他方法来提供适当的信息。

关于您的第二个问题,如果确实不存在于(运行以检查)SUDO_USER导出的环境中,则可能意味着您的配置从环境中删除了该变量。sudosudo envsudoers

相关内容