답변
아직 내장 플래그가 없지만 사용할 수 있습니다
pip list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U
참고 : 이에 대한 무한한 변동이 있습니다. 이 답변을 짧고 간단하게 유지하려고 노력하고 있지만 의견에 변형을 제안하십시오!
의 이전 버전에서는 pip
다음을 대신 사용할 수 있습니다.
pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U
은 grep
@jawache에 의해 제안, 편집 ( “-e”) 패키지 정의를 생략하는 것입니다. (예, grep
+ cut
를 sed
or awk
또는 perl
or 또는 …로 바꿀 수 있습니다.)
-n1
에 대한 플래그를 xargs
하나 개의 패키지를 업데이트하는 경우 모든 것을 중단 방지는 (감사 실패 @andsens을 ).
답변
다음 Python 코드를 사용할 수 있습니다. 와 달리 pip freeze
경고 및 FIXME 오류는 인쇄하지 않습니다.
핍 <10.0.1의 경우
import pip
from subprocess import call
packages = [dist.project_name for dist in pip.get_installed_distributions()]
call("pip install --upgrade " + ' '.join(packages), shell=True)
핍> = 10.0.1의 경우
import pkg_resources
from subprocess import call
packages = [dist.project_name for dist in pkg_resources.working_set]
call("pip install --upgrade " + ' '.join(packages), shell=True)
답변
모든 로컬 패키지를 업그레이드하려면 당신은 사용할 수 있습니다 pip-review
:
$ pip install pip-review
$ pip-review --local --interactive
pip-review
의 포크입니다 pip-tools
. @knedlsepp에서 언급 한 pip-tools
문제를 참조하십시오 . 패키지는 작동하지만 패키지는 더 이상 작동하지 않습니다.pip-review
pip-tools
pip-review
버전 0.5부터 Windows에서 작동합니다 .
답변
Windows에서 작동합니다. 다른 사람들에게도 좋을 것입니다. ($는 명령 프롬프트에있는 디렉토리입니다 (예 : C : / Users / Username>)
하다
$ pip freeze > requirements.txt
텍스트 파일을 열 교체 ==
로 >=
및 실행
$ pip install -r requirements.txt --upgrade
업그레이드를 중단시키는 특정 패키지에 문제가있는 경우 (때로는 숫자가 많음) 디렉토리 ($)로 이동하여 이름을 주석 처리하고 (# 앞에 추가) 업그레이드를 다시 실행하십시오. 나중에 해당 섹션의 주석을 해제 할 수 있습니다. 이것은 파이썬 글로벌 환경을 복사하는 데에도 좋습니다.
또 다른 방법:
나는 또한 pip-review 방법을 좋아합니다.
py2
$ pip install pip-review
$ pip-review --local --interactive
py3
$ pip3 install pip-review
$ py -3 -m pip_review --local --interactive
‘a’를 선택하여 모든 패키지를 업그레이드 할 수 있습니다. 한 번의 업그레이드가 실패하면 다시 실행하고 다음 번에 계속하십시오.
답변
Rob van der Woude의 훌륭한 문서 를 FOR
참조한 후의 Windows 버전
for /F "delims===" %i in ('pip freeze -l') do pip install -U %i
답변
pipupgrade를 사용하십시오 !
$ pip install pipupgrade
$ pipupgrade --verbose --latest --yes
pipupgrade 는 requirements.txt
파일 에서 시스템, 로컬 또는 패키지를 업그레이드하는 데 도움이 됩니다! 또한 변경 사항을 위반하지 않는 패키지를 선택적으로 업그레이드합니다. pipupgrade는 또한 여러 Python 환경에 존재하는 패키지를 업그레이드합니다. Python2.7 +, Python3.4 + 및 pip9 +, pip10 +, pip18 +, pip19 +와 호환됩니다.
참고 : 나는 도구의 저자입니다.
답변
오래된 패키지 만 인쇄 할 수 있습니다.
pip freeze | cut -d = -f 1 | xargs -n 1 pip search | grep -B2 'LATEST:'