Debian 9의 Python 2.7 또는 3에서 lsb_release 모듈이 작동하도록 할 수 없습니다. 데비안 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