pip를 사용하여 패키지를 업데이트 / 업그레이드하는 방법은 무엇입니까?


171

pip를 사용하여 패키지를 업데이트하는 방법은 무엇입니까? 그것들은 작동하지 않습니다 :

pip update
pip upgrade

나는 이것이 간단한 질문이라는 것을 알고 있지만 찾기가 쉽지 않기 때문에 필요합니다 (핍 문서 는 나타나지 않으며 스택 오버플로의 다른 질문은 관련이 있지만 정확하게는 아닙니다)

답변:


280

방법은

sudo pip install [package_name] --upgrade

또는 간단히

sudo pip install [package_name] -U

sudo 작업을 확인하기 위해 루트 암호를 입력하라는 메시지가 표시됩니다.

루트 비밀번호가없는 경우 (관리자가 아닌 경우) virtualenv로 작업 한 후 다음을 삭제해야합니다 sudo.

pip install [package_name] --upgrade

2
으로는 pip install --help말했다 -U, --upgrade Upgrade all specified packages to the newest available version.. 따라서 대문자 -U가 아니 어야합니다 -u.
피터 리앙

25
당신이 할 때 왜 그런 일반적인 옵션이 표시되지 않습니다 pip --help수수께끼입니다 ...
Husky

3
@Husky-예, 같은 줄을 따라 왜 upgrade당신이 대답에서 보는 것을 하는 명령을하지 않는 것이 좋은 질문입니다. (즉, '업그레이드'를 사용하는 경우 단순히 install+의 기능을 --upgrade수행합니다.) 일종의 '별칭'입니다.
bshea

10

비 특정 패키지 및보다 일반적인 솔루션의 경우 업데이트 할 수있는 패키지를 확인하는 도구 인 pip-review 를 확인할 수 있습니다.

$ pip-review --interactive
requests==0.14.0 is available (you have 0.13.2)
Upgrade now? [Y]es, [N]o, [A]ll, [Q]uit y

3
이 질문에 직접 대답하지는 않지만 일부 사람들은이 메시지를 찾을 때 실제로 찾는 것일 수 있습니다.
borgr 2016 년

8

설치된 모든 패키지를 업데이트하는 tl; dr 스크립트

하나의 패키지 만 업그레이드하려면 @ borgr 's answer를 참조하십시오 . 모든 패키지를 한 번에 업그레이드해야하는 경우가 종종 있습니다. 현재 pip는 기본적으로 해당 작업을 지원하지 않지만 sh 스크립트를 사용하면 간단합니다. 당신은 사용 pip list, awk(또는 cuttail), 및 명령 치환. 내 정상적인 원 라이너는 다음과 같습니다.

for i in $(pip list -o | awk 'NR > 2 {print $1}'); do sudo pip install -U $i; done

루트 암호를 묻습니다. 당신이 그것에 액세스 할 수없는 경우, 또는 virtualenv--user옵션은 살펴 볼 수 있습니다.pip


7
import subprocess as sbp
import pip
pkgs = eval(str(sbp.run("pip3 list -o --format=json", shell=True,
                         stdout=sbp.PIPE).stdout, encoding='utf-8'))
for pkg in pkgs:
    sbp.run("pip3 install --upgrade " + pkg['name'], shell=True)

xx.py로 저장 한
다음 Python3 xx.py 환경을 실행 하십시오
. python3.5 + pip10.0 +


나는이 해결책을 좋아한다. 업데이트 중에 패키지 이름을 표시하는 인쇄를 추가했습니다 :print('updating ', pkg['name'])
pvoj

4

Python3.4 + 용 pip를 업그레이드하려면 다음과 같이 pip3을 사용해야합니다.

sudo pip3 install pip --upgrade

이것은 /usr/local/lib/python3.X/dist-packages에있는 pip를 업그레이드합니다.

그렇지 않으면 Python2.7의 pip를 업그레이드하려면 다음과 같이 pip를 사용하십시오.

sudo pip install pip --upgrade

이것은 /usr/local/lib/python2.7/dist-packages에 위치한 pip를 업그레이드합니다.


7
이것은 OP가 요구 한 것이 아닙니다. 그는 PIP 자체가 아닌 특정 패키지를 업그레이드하는 방법을 묻고 있습니다.
commadelimit

그럼에도 불구하고 이들 다른 답변들 여기 가지고 도움이 될 것 같다
uhoh
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.