14.04에서 Python을 업그레이드한 후 Apt가 손상되었습니다. "lsb_release"라는 모듈이 없습니다.

14.04에서 Python을 업그레이드한 후 Apt가 손상되었습니다. "lsb_release"라는 모듈이 없습니다.

최근 프로젝트 중 하나에는 업데이트된 Python3 버전이 필요했기 때문에 소스에서 빌드한 결과 약간 문제가 발생한 것 같습니다. 이제 모든 apt 기반 작업이 오류로 종료됩니다.

(Reading database ... 320897 files and directories currently installed.)
Removing nvidia-prime (0.6.2) ...
Traceback (most recent call last):
  File "/usr/bin/lsb_release", line 28, in <module>
    import lsb_release
ImportError: No module named 'lsb_release'
dpkg: error processing package nvidia-prime (--remove):
 subprocess installed post-removal script returned error exit status 1
Errors were encountered while processing:
 nvidia-prime
E: Sub-process /usr/bin/dpkg returned an error code (1)

나는 엔비디아 오류가 단지 증상일 뿐 문제가 아니라고 생각합니다. 소스를 추가하려고 하다가 다음과 같은 상황에 부딪혔을 때 이 사실을 발견했습니다.

sudo: add-apt-repository: command not found

이 상자를 14.10으로 업그레이드하고 싶지만 모든 업그레이드 기반 명령은 동일한 lsb_release 메시지를 반환합니다. 내 패키지 관리 기능 복원에 대한 제안 사항이 있습니까?

편집: Python 경로 정보로 업데이트됨

lars@whorus:~/Downloads/Python-3.4.2$ ls -l /usr/bin/python*
lrwxrwxrwx 1 root root       9 Dec 18 10:36 /usr/bin/python -> python2.7
lrwxrwxrwx 1 root root       9 Apr 18  2014 /usr/bin/python2 -> python2.7
-rwxr-xr-x 1 root root 3349512 Mar 22  2014 /usr/bin/python2.7
lrwxrwxrwx 1 root root       9 Mar 23  2014 /usr/bin/python3 -> python3.4
-rwxr-xr-x 2 root root 4061272 Apr 11  2014 /usr/bin/python3.4
-rwxr-xr-x 2 root root 4061272 Apr 11  2014 /usr/bin/python3.4m
lrwxrwxrwx 1 root root      10 Mar 23  2014 /usr/bin/python3m -> python3.4m

답변1

Ubuntu 14.04에는 lsb_release.pyPython 2.7용 파일도 설치되어 있으며 lsb_releasepython2.7에서도 작동하는 것으로 보입니다. 다음을 수행하여 시도해 볼 수 있습니다.

python2.7 /usr/bin/lsb_release

작동하는 경우 파일을 백업 /usr/bin/lsb_release하고 첫 번째 줄을 다음과 같이 변경합니다.

#! /usr/bin/python2.7

(이러한 옵션을 시도해 볼 수 있습니다 -Es. 처음에는 제외하겠습니다.)

다시 실행되면 apt-getpython3과 해당 종속 항목을 다시 설치하세요. 또는 (둘 다 설치해야 함 apt-cache depends python3)을 사용하여 종속성을 재귀적으로 가져와 직접 종속성을 확인할 수 있습니다 apt-rdepends.reverse-depends

답변2

기본 Python을 사용자 정의 버전으로 재정의했을 수 있습니다.

head /usr/bin/lsb_release

제목에 있는 내용을 보세요. /usr/bin의 특정 Python 버전으로 강제 설정하면 문제가 해결됩니다.

내 경우처럼 쓰면 다음 /usr/bin/python으로 /usr/bin/lsb_release변경됩니다.

/usr/bin/python2.7

으/으, 다음으로 바꾸세요

/usr/bin/python3.4

관련 정보