실수로 미리 pip install
설치 한 패키지를 apt-get
미리 설치하면 어떻게됩니까? 최신 버전 (예 :을 사용하여 설치 한 버전)을 사용할 수 pip
있습니까? 다른 방법으로 어떻게 되나요?
참고 : 나는 가상 환경에서 파이썬을 사용하지 않습니다 (단순히 왜 내가 해야하는지 모르겠 기 때문에 파이썬을 데이터 분석 도구로 사용하고 대부분 최신 버전을 사용하려고합니다).
답변
@Timo가 그의 의견에서 언급했듯이 python -c "import sys; print sys.path"
Python 설치를위한 Python 모듈로드 경로를 제공합니다. 16.04의 비교적 새로운 설치에는 3 개의 디렉토리가 있습니다 (10 개의 디렉토리 중).
- ”(응용 프로그램 디렉토리)
- ‘/usr/local/lib/python2.7/dist-packages'(pip가 모듈을 설치하는 위치)
- ‘/usr/lib/python2.7/dist-packages'(적합한 설치 모듈)
그러나 가장 중요한 것은 ‘/usr/local/lib/python2.7/dist-packages’가 ‘/usr/lib/python2.7/dist-packages’보다 우선 순위가 높다는 것입니다.
apt (-get)를 통해 파이썬 패키지를 처음 설치하면 ‘/usr/lib/python2.7/dist-packages’에 설치됩니다. 나중에 pip를 사용하여 모듈을 설치하려고하면 pip는 처음에 종속성이 이미 충족되었다는 경고를 표시 한 다음 종료합니다. –upgrade 플래그를 추가하면 pip를 강제로 설치하여 모듈을 ‘/usr/local/lib/python2.7/dist-packages’에 설치합니다. ( ‘/usr/lib/python2.7/dist-packages’의 버전이 제거되지 않았다는 출력에 유의하십시오.) 그런 다음 다음을 사용하여 pip-installed 버전이 사용중인 버전인지 확인할 수 있습니다 python -c "import MODULE; print MODULE.__file__"
..
따라서 이것은 pip를 통해 설치된 패키지가 시스템 설치 패키지보다 우선하지만 apt (-get)에서 설치된 것을 덮어 쓰지 않음을 보여줍니다.
답변
@Bryan Wyatt에 추가하려면 PIP 설치 / 업그레이드 된 항목이 APT 설치 패키지보다 우선해야하는 것이 바람직합니다. 내 시스템은 apt와 pip 경로를 반대로했습니다. 다른 항목은 무시해야합니다.
- ‘/usr/local/lib/python2.7/dist-packages'(pip가 모듈을 설치하는 위치)
- ‘/usr/lib/python2.7/dist-packages'(적합한 설치 모듈)
그러나 내가 취해야 할 알 수없는 조치로 인해이 경로는 나에게 반대 순서로 나타납니다 (다른 항목은 무시).
- ‘/usr/lib/python2.7/dist-packages'(적합한 설치 모듈)
- ‘/usr/local/lib/python2.7/dist-packages'(pip가 모듈을 설치하는 위치)
내가 추가 않은 일로 밝혀 /usr/lib/python2.7/dist-packages
에를 /usr/local/lib/python2.7/dist-packages/easy-install.pth
. 단순히 라인을 제거하여 easy-install.pth
잘못 주문을 수정했습니다. /usr/lib/python2.7/dist-packages
그것은 나중에 다른 단계에서 추가되기 때문에 여전히 내 길에 있습니다.
참고로, pprint는 경로를 더 멋지게 표시합니다.
$ python -c "import sys; import pprint; pprint.pprint(sys.path)"
['',
'/usr/lib/python2.7',
'/usr/lib/python2.7/plat-x86_64-linux-gnu',
'/usr/lib/python2.7/lib-tk',
'/usr/lib/python2.7/lib-old',
'/usr/lib/python2.7/lib-dynload',
'/usr/local/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages/PILcompat',
'/usr/lib/python2.7/dist-packages/gtk-2.0',
'/usr/lib/python2.7/dist-packages/ubuntu-sso-client']