我无法让 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-release
;get_distro_information()
使用它以及类中的其他方法来提供适当的信息。
关于您的第二个问题,如果确实不存在于(运行以检查)SUDO_USER
导出的环境中,则可能意味着您的配置从环境中删除了该变量。sudo
sudo env
sudoers