Debian 9 の Python 2.7 または 3 で lsb_release モジュールを動作させることはできません。 Debian 8 では試していませんが、両方で動作するために必要です。
私が試したことは次のとおりです。
import lsb_release
print(lsb_release.get_lsb_information())
インポート{}
エラーが返されず、なぜ動作しないのかわかりません。また、sudoを介してスクリプトを実行すると、user = os.environ['SUDO_USER']
重大なエラーが発生します。 SUDO_USERが存在しませんか?何を提供しますか?
答え1
1つの質問に複数の質問をしないでください。
最初の質問にはを使用する必要がありますget_distro_information()
。get_lsb_information()
オーバーライドをロードするために内部的に使用されます/etc/lsb-release
。get_distro_information()
このメソッドとクラスの他のメソッドを使用して適切な情報を提供します。
2番目の質問に関連してエクスポートされたSUDO_USER
環境に存在しない場合(実行して確認)、構成が環境から変数を削除したことを意味できます。sudo
sudo env
sudoers