[python] pip를 사용하여 패키지를 업데이트 / 업그레이드하는 방법은 무엇입니까?
pip를 사용하여 패키지를 업데이트하는 방법은 무엇입니까? 그것들은 작동하지 않습니다 :
pip update
pip upgrade
나는 이것이 간단한 질문이라는 것을 알고 있지만 찾기가 쉽지 않기 때문에 필요합니다 (핍 문서 는 나타나지 않으며 스택 오버플로의 다른 질문은 관련이 있지만 정확하게는 아닙니다)
답변
방법은
sudo pip install [package_name] --upgrade
또는 간단히
sudo pip install [package_name] -U
sudo
작업을 확인하기 위해 루트 암호를 입력하라는 메시지가 표시됩니다.
루트 비밀번호가없는 경우 (관리자가 아닌 경우) virtualenv로 작업 한 후 다음을 삭제해야합니다 sudo
.
pip install [package_name] --upgrade
답변
비 특정 패키지 및보다 일반적인 솔루션의 경우 업데이트 할 수있는 패키지를 확인하는 도구 인 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
답변
설치된 모든 패키지를 업데이트하는 tl; dr 스크립트
하나의 패키지 만 업그레이드하려면 @ borgr ‘s answer를 참조하십시오 . 모든 패키지를 한 번에 업그레이드해야하는 경우가 종종 있습니다. 현재 pip는 기본적으로 해당 작업을 지원하지 않지만 sh 스크립트를 사용하면 간단합니다. 당신은 사용 pip list
, awk
(또는 cut
과 tail
), 및 명령 치환. 내 정상적인 원 라이너는 다음과 같습니다.
for i in $(pip list -o | awk 'NR > 2 {print $1}'); do sudo pip install -U $i; done
루트 암호를 묻습니다. 당신이 그것에 액세스 할 수없는 경우, 또는 virtualenv 의 --user
옵션은 살펴 볼 수 있습니다.pip
답변
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 +
답변
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를 업그레이드합니다.