데비안, Linux Mint 사용자 우분투 제품군
위 의 Anthony의 설명 덕분에 원래 시스템 pip (/ usr / bin / 및 dist-packages /에 있음)를 유지하고 수동으로 설치된 pip (~ / .local /에 있음)를 제거하여 충돌을 해결할 수 있습니다.
$ python3 -m pip uninstall pip
python3-pip
데비안 패키지의 Ubuntu / Debian pip v8.1.1 (16.04) $ pip3 -V
은 최신 pip v10.0.1과 동일한 검색 결과를 표시하며 PyPI의 최신 모듈을 올바르게 설치합니다. 그것은 작업이 pip
(이미 $ PATH에) 명령 플러스 좋은를 --user
보면 2016 년 이후 패치 - 기본적으로 옵션 핍 릴리스 노트 의 최신 버전은 사용의 경우 특정 버그 수정 및 일부 새로운 기능에 대해 대부분이다 그래서 하지 모두가 아직 핍 업그레이드를 서두르어야합니다. 그리고 새로운 pip 10은 어쨌든 파이썬 가상 환경에 배포 할 수 있습니다.
그러나 pips에 관계없이 OS는 pip 필요없이 APT를 사용하여 일반적인 Python 모듈 (numpy 포함)을 신속하게 설치할 수 있습니다.
$ sudo apt install python3-numpy python3-scipy
(시스템 종속성
$ sudo apt install python3-pip
이있는 경우)
빠른 적절한 구문 알림 (자세한 내용 man apt
은 참조) :
$ sudo apt update
(최신 소스에서 Ubuntu 패키지 색인 파일을 다시 동기화하려면)
$ apt search <python-package-name>
(사용 가능한 모든 패키지에서 전체 텍스트 검색)
$ apt show <python-package-name>
(자세한 패키지 설명을 표시)
$ sudo apt install <python-package-name>
접두사가 붙은 패키지 이름 python-
은 Python 2 용입니다. 접두어 python3-
는 Python 3 용입니다 (예 : python3-pandas). 수천 개가 있으며 데비안과 우분투에서 통합 테스트를받습니다. 사용자 별 ( pip install --user
옵션) 또는 virtualenv / venv 내에 설치하려고하지 않으면 apt가 필요할 수 있습니다. 이러한 시스템 패키지는 너무 가상 envs에서 액세스 할 수 있습니다 VIRTUALENV은 우아하게 envs 모듈의 사본을 제공하지 않는 경우 수입에 시스템 libs와를 사용하여 다시 떨어질 것이다. 사용자 별 설치 (pip 포함 --user
) 사용자 단위 모듈 ~/.local/lib
도 재정의됩니다.
이것은 시스템 전체 설치 이기 때문에 거의 제거 할 필요가 없습니다 (OS 종속성에주의 할 필요가 있음). APT는 필요한 모든 시스템 라이브러리 및 C 확장을 추적하고 제공하지만 pip를 사용하면 그러한 보장 이 없으므로 많은 시스템 종속성이있는 패키지 (예 : scipy 또는 matplotlib)에 편리합니다 .
사실, 시스템 전체의 파이썬 패키지 (사용자 별, 홈 디렉토리 수준 이하)와 달리 Ubuntu 는sudo pip
OS를 중단하지 않기 위해 APT 패키지 관리자 () 대신 APT 패키지 관리자를 사용하여 APT 가 OS를 저장하는 디렉토리를 sudo pip3
대상으로합니다 . /usr/lib/python3/dist-packages
민감한 모듈. 최신 데비안 / 우분투 릴리스는 Python 3에 크게 의존하므로 사전 설치된 모듈은 관리되며 apt
변경해서는 안됩니다.
따라서 pip3 install
명령 을 사용하는 경우 virtualenv ( sudo apt install python3-virtualenv
) 또는 Python3 내장 ( -m venv
) 또는 사용자 별 수준 ( --user
pip 옵션, 우분투에서 기본값 으로 제공됨) 과 같은 격리 된 가상 개발 환경에서 실행되는지 확인하십시오 2016 이후 PIP),하지만 하지 시스템 전체 (절대 sudo pip3
!), 핍 때문에 를 방해 APT가 패키지 관리자의 작동이 우분투 운영 체제에 영향을 줄 수있는 구성 요소를 시스템에 사용되는 파이썬 모듈이 예기치 않게 변경 될 때. 행운을 빕니다!
P. S. 모두는 상단의 '이상적'용액 (데비안 / 우분투 방법)에 대한 것이다.
여전히 새 pip3 v10을 독점적으로 사용하려는 경우 3 가지 빠른 해결 방법이 있습니다.
- 새 bash 세션 (새 터미널 탭 또는 유형
bash
)을 열면 pip3 v10을 사용할 수있게됩니다 (참조 pip3 -V
). 데비안의 pip3 v8은 계속 설치되어 있지만 고장입니다. 또는
$ hash -d pip3 && pip3 -V
$ PATH에서 pip3 경로 이름을 새로 고치는 명령 입니다. 데비안의 pip3 v8은 계속 설치되어 있지만 고장입니다. 또는
$ sudo apt remove python3-pip && hash -d pip3
새로운 pip3 v10을 위해 데비안의 pip3 v8을 완전히 제거 하는 명령 입니다.
참고 :--user
virtualenv가 아닌 한, 데비안이 제공하지 않은 pip에 항상 플래그 를 추가해야합니다 ! ( ~/.local/
2016 년 이후로 debian / ubuntu 제공 python3-pip 및 python-pip에서 기본값으로 python 패키지를 배포합니다 ). virtualenv 외부에서 시스템 전체의 pip 10 사용은 Ubuntu / Debian에서 실제로 지원되지 않습니다. 절대로 sudo pip3
!
자세한 내용은
https://github.com/pypa/pip/issues/5221#issuecomment-382069604
https://github.com/pypa/pip/issues/5240#issuecomment-381673100