[python] 가상 환경 내부에서 pip 자체를 어떻게 업데이트합니까?

pip 관리 패키지를 업데이트 할 수 있지만 pip 자체를 어떻게 업데이트합니까? 에 따르면 pip --version, 현재 virtualenv에 pip 1.1이 설치되어 있으며 최신 버전으로 업데이트하고 싶습니다.

그 명령은 무엇입니까? 배포를 사용해야합니까, 아니면 기본 pip 또는 virtualenv 명령이 있습니까? 난 이미 시도했습니다 pip updatepip update pip성공하지 못했다.



답변

pip다른 것과 마찬가지로 PyPI 패키지 일뿐입니다 . 패키지를 업그레이드하는 것과 같은 방식으로 자체 업그레이드에 사용할 수 있습니다.

pip install --upgrade pip

Windows에서 권장되는 명령 은 다음과 같습니다.

python -m pip install --upgrade pip


답변

더 안전한 방법은 파이썬 모듈을 통해 pip실행하는 것입니다 .

python -m pip install -U pip

Windows에서는 바이너리를 대체하려고 시도하는 바이너리에 문제가있는 것 같습니다.이 방법은 그 한계를 극복합니다.


답변

내 경우에는 내 pip 버전이 손상되어 업데이트 자체가 작동하지 않습니다.

고치다:

(inside virtualenv):easy_install -U pip


답변

위에서 언급 한 모든 솔루션을 Debian Jessie에서 시도했습니다. 데비안 패키지 관리자가 최신 버전을 컴파일하기 때문에 1.5.6 버전 6.0.x와 동일하기 때문에 작동하지 않습니다. 전제 조건으로 pip를 사용하는 일부 패키지는 spaCy (정확히 작동하려면 –no-cache-dir 옵션이 필요함)와 같은 결과로 작동하지 않습니다.

따라서 이러한 문제를 해결하는 가장 좋은 방법은 wget을 사용하여 웹 사이트에서 다운로드하거나 다음과 같이 curl을 사용하여 get-pip.py 를 실행 하는 것입니다.

 wget https://bootstrap.pypa.io/get-pip.py -O ./get-pip.py
 python ./get-pip.py
 python3 ./get-pip.py

이 솔루션을 작성할 당시 현재 버전이 9.0.1이며 이는 데비안이 제공하는 것 이상의 방법입니다.

 $ pip --version
 pip 9.0.1 from /home/myhomedir/myvirtualenvdir/lib/python2.7/dist-packages (python 2.7)
 $ pip3 --version
 pip 9.0.1 from /home/myhomedir/myvirtualenvdir/lib/python3.4/site-packages (python 3.4)


답변

pip install –upgrade pip ‘를 사용하여 pip를 업그레이드 하는 것은 끔찍한 인증서 문제로 인해 항상 작동하지 않습니다 . ssl 인증서를 확인하는 중에 문제가 발생했습니다. [SSL : TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 경고 프로토콜 버전

가상 환경에 한 줄 명령 을 사용하고 싶습니다.

curl https://bootstrap.pypa.io/get-pip.py | python -

또는 상자 전체에 설치하려면 다음이 필요합니다.

curl https://bootstrap.pypa.io/get-pip.py | sudo python -

자동화 스크립트에서 실행할 때 출력을 침묵 시키려면 curl에 -s 플래그를 지정할 수 있습니다 .


답변

필자의 경우 Debian Stable의 터미널 명령 줄에서 작동했습니다.

python3 -m pip install --upgrade pip


답변

이 기능을 사용하려면 Python 명령 프롬프트 (VS WIN의 WIN10)를 사용하여 Python 디렉토리에서 드릴 다운해야했습니다. 제 경우에는 “AppData \ Local \ Programs \ Python \ python35-32″디렉토리에있었습니다. 지금부터 나는 명령을 실행했다 …

python -m pip install --upgrade pip

이것은 효과가 있었고 잘 지 냈습니다.