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


523

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

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


40
pip install --upgrade pip? 또 다른 PyPI 패키지입니다.
Cairnarvon

1
이 명령은 "/ Users / zak / MyProject / venv / bin / pip install : error : no such option : --update"
zakdances

4
그건 --upgrade아니, --update죄송합니다. 내 게시물을 즉시 편집했지만 정확하게 잘못된 시간에 보았을 것입니다.
Cairnarvon

2
@Cairnarvon는 다른 명령 pip3입니까? 나는 pip3을 시도하고 있지만 그것을 찾을 수 없다고 말하고 계속해서 최신 버전이 아니라고 불평합니다 ... 업데이트 / 업그레이드조차 할 수 없을 때!
Charlie Parker

답변:


929

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

pip install --upgrade pip

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

python -m pip install --upgrade pip

53
Windows에서 pip를 사용하여 pip를 업그레이드하려고 시도하는 권한 문제가있었습니다. 대신 easy_install을 사용하여 업그레이드했습니다.easy_install pip
bsa

8
이 pip를 수행했을 때 업그레이드하는 것 같았지만 (1.1-> 1.4) "pip --version"을 수행해도 여전히 이전 버전 1.1이 표시됩니다. virtualenv를 다시 비활성화하고 활성화하려고 시도했지만 여전히 이전 버전이 표시됩니다.
Zitrax

40
Windows python -m pip install --upgrade pip에서는 스크립트 디렉토리에서 pip.exe를 실행하지 않으려면 다음과 같은 명령을 사용하는 것이 좋습니다 .
bialix

@Zitrax이 문제를 해결 했습니까? 나는 같은 문제에 직면 해있다.
Mohammad ali baghershemirani

@Mohammadalibaghershemirani 죄송합니다. 이것은 얼마 전에 죄송합니다.
Zitrax

58

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

python -m pip install -U pip

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


9
새로운 버전의 자체를 감지하면 pip 자체가 권장하는 것입니다.
tephyr

1
이것이 더 안전한 이유는 일부 OS (Windows)에서는 pip를 직접 실행하면 실행 파일에 파일 잠금을 생성하여 업데이트 할 수 없기 때문입니다. Python을 호출하고 모듈을 직접로드하도록 지시하면 실행 파일에 액세스하지 않아도됩니다.
jpmc26

이 작업을 수행하려면 관리자 모드에서 명령 프롬프트를 실행해야합니다. 몇 가지 다른 제안을 시도했지만 관리자 모드에서 명령 프롬프트 창을 다시 시작할 때까지 아무것도 작동하지 않으면이 명령이 완벽하게 작동했습니다.
DaveN59

42

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

고치다:

(inside virtualenv):easy_install -U pip

1
저의 경우이기도합니다. 나는 다른 모든 방법을 시도했지만 이것 만이 나를 도와줍니다. 감사 !
levif

여기에서도 데비안에서 작동하는 유일한 방법입니다. python 또는 pip를 사용하여 virtualenv 내에서 pip를 업그레이드하면 venv 외부에있는 기존 pip를 제거하지 않기 때문에 실패합니다.
user3748764

이것을 실행하면 Download error on https://pypi.python.org/simple/pip/: [SSL: TLSV1_ALERT_PROTOCOL_VERSION] tlsv1 alert protocol version (_ssl.c:590) -- Some packages may not be found!--upgrade를 실행할 때 표시되지 않은 것들을 포함하여 많은 것을 보여주었습니다 . 그리고 pip 패키지 설치가 실패하고 pip를 통한 pip 업그레이드가 실패하는 이유는 SSL에 문제가있는 것 같습니다.
Vadorequest 2018 년

9

위에서 언급 한 모든 솔루션을 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)

2
pip install --upgrade pip실패 했을 때 도움이 됨
Awayway

이 답변을 몇 번 공표 할 수 있다면 그렇게 할 것입니다. 이것은 pip 10.x로 업데이트하여 pip 9.x가 SSL 오류로 실패하는 문제를 해결했습니다. 참조 stackoverflow.com/questions/25981703/...
키스 존 허치슨

글쎄, 당신이 한 번이라도 기뻐했다면 나는 행복 할 것이다. 내 대답은 일반적으로 한두 시간의 사냥과 수년간의 경험에서 발견됩니다. 내 질문에 대해 똑같이 말할 수 없습니까? 사람들은 정말로 의미가 있습니다! :)
Eamonn Kenny 12

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 플래그를 지정할 수 있습니다 .


1

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

python3 -m pip install --upgrade pip

1

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

python -m pip install --upgrade pip

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


1

관리자 권한으로 명령 프롬프트를 열고 명령을 반복하십시오.

python -m pip install --upgrade pip

4
기존 답변과 동일하지 않습니까?
hkchengrex

그러나 문제가 발생하여 관리자 권한으로 CMD를 실행하면 문제가 해결되었습니다.
MRamzan

1

핍 버전 10에 문제가 있습니다. 오류로 나타납니다.

ubuntu@mymachine-:~/mydir$ sudo pip install --upgrade pip
Traceback (most recent call last):
  File "/usr/bin/pip", line 9, in <module>
    from pip import main
ImportError: cannot import name main

해결책은 업그레이드하려는 venv에 있고 다음을 실행하는 것입니다.

sudo myvenv/bin/pip install --upgrade pip

그냥보다는

sudo pip install --upgrade pip

1

venv를 사용하는 경우 pip 설치로 업데이트하면 venv pip 대신 시스템 pip가 업그레이드됩니다. pip 부트 스트랩 패키지도 업그레이드해야합니다.

  python3 -m pip install --upgrade pip setuptools wheel

파이썬 메일리스트 나 페파에 문제가있었습니다. 불행히도 모든 당사자는 not my motoroller문제 로 책임을

0

C : \ Python \ Python36에 Python을 설치 했으므로 Windows 명령 프롬프트로 이동하여 "cd C : \ Python \ Python36을 입력하여 올바른 디렉토리로 이동 한 다음"python -m install --upgrade pip "all 좋은!


0

Windows 7을 사용하는 랩탑에서 최신 버전의 pip를 설치하는 올바른 방법은 다음과 같습니다.

python.exe -m pip install --upgrade pip

0

Single Line Python Program
내가 찾은 가장 좋은 방법은 공식 get-pip 스크립트를 다운로드하여 실행하는 단일 라인 프로그램을 작성하는 것입니다. 코드는 아래를 참조하십시오.

공식 문서는 curl을 사용하여 get-pip 스크립트를 다운로드하는 것이 좋지만 Windows에서 작업하고 curl이 설치되어 있지 않으므로 Python 자체를 사용하여 스크립트를 다운로드하고 실행하는 것이 좋습니다.

다음은 Python 3을 사용하여 명령 행을 통해 실행할 수있는 단일 행 프로그램입니다.

python -c "import urllib.request; exec(urllib.request.urlopen('https://bootstrap.pypa.io/get-pip.py').read())"

이 줄은 설치 정보에 따라 공식 "get-pip.py" 스크립트를 받고 "exec"명령으로 스크립트를 실행합니다.

Python2의 경우 "urllib.request"를 "urllib2"로 바꾸십시오.

python -c "import urllib2; exec(urllib2.urlopen('https://bootstrap.pypa.io/get-pip.py').read())"

주의 사항
파이썬 스크립트를 맹목적으로 실행하는 것은 본질적으로 위험하다는 점에 주목할 가치가 있습니다. 이러한 이유로 공식 지침은 스크립트를 다운로드하고 실행하기 전에 검사하는 것이 좋습니다.

즉, 많은 사람들이 실제로 코드를 검사하지 않고 그냥 실행합니다. 이 한 줄짜리 프로그램이 더 쉬워집니다.


0

라즈베리 파이에서도 비슷한 문제가있었습니다.

문제는 http에 SSL이 필요하다는 것이므로 https를 사용 하여이 요구 사항을 해결해야했습니다.

sudo pip install --upgrade pip --index-url=https://pypi.python.org/simple

또는

sudo pip-3.2 --upgrade pip --index-url=https://pypi.python.org/simple/

0

비슷한 상황에 있었고 urllib3 패키지를 업데이트하고 싶었습니다. 나를 위해 일한 것은 다음과 같습니다.

pip3 install --upgrade --force-reinstall --ignore-installed urllib3==1.25.3

-2

매우 간단합니다. https://bootstrap.pypa.io/get-pip.py 에서 pip를 다운로드 하십시오 . 일부 forlder 또는 dekstop에 파일을 저장하십시오. 파일을 D 드라이브에 저장 한 다음 명령 프롬프트에서 pip를 다운로드 한 폴더로 이동합니다. 그런 다음 거기에 입력하십시오

python -get-pip.py

핍 설치 스크린 샷

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.