모든 파이썬 패키지를 PIP로 업그레이드하는 방법
질문
PIP로 한 번에 모든 파이썬 패키지를 업그레이드 할 수 있습니까?
참고 : 공식 이슈 트래커 에서이 기능 요청이 있습니다.
답변
아직 내장 된 플래그가 없지만 사용할 수 있습니다.
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 또는 AWK 또는 Perl 또는 ...)으로 대체 할 수 있습니다.
Xargs의 -N1 플래그는 하나의 패키지를 업데이트하는 경우 모든 것을 중지하는 것을 방지합니다 (감사 @andsens).
답변
다음은 Windows에서 작동하며 다른 사람에게도 좋습니다 ($는 명령 프롬프트에서 입력 한 디렉토리입니다. 예 : C : / Users / Username).
하다
$ pip freeze > requirements.txt
텍스트 파일을 열고 ==> =를 눌러 또는 SED를 사용하십시오.
$ sed -i 's/==/>=/g' requirements.txt
다음을 실행하십시오.
$ pip install -r requirements.txt --upgrade
특정 패키지가 업그레이드 (때로는 숫자)가 설치된 경우 디렉토리 ($)로 이동하여 이름을 주석 처리하고 이전에 업그레이드를 다시 실행하십시오.나중에 그 섹션을 다시 주석 제거 할 수 있습니다.이것은 Python 글로벌 환경을 복사하는 것도 좋습니다.
또 다른 방법:
나는 또한 PIP 검토 방법을 좋아합니다 :
py2
$ pip install pip-review
$ pip-review --local --interactive
py3
$ pip3 install pip-review
$ py -3 -m pip-review --local --interactive
모든 패키지를 업그레이드하려면 'A'를 선택할 수 있습니다.하나의 업그레이드가 실패하면 다시 실행하면 다음과 같이 계속됩니다.
답변
pipupgrade를 사용하십시오!
$ pip install pipupgrade
$ pipupgrade --verbose --latest --yes
Pipupgrade는 요구 사항 .txt 파일에서 시스템, 로컬 또는 패키지를 업그레이드하는 데 도움이됩니다!또한 변경되지 않는 패키지를 선택적으로 업그레이드합니다.
Pipupgrade는 또한 여러 파이썬 환경에서 현재있는 패키지를 업그레이드 할 수 있습니다.파이썬 2.7+, Python 3.4+ 및 PIP 9+, PIP 10+, PIP 18+, PIP 19+와 호환됩니다.
참고 : 나는 도구의 저자입니다.
답변
다음 Python 코드를 사용할 수 있습니다.PIP Freeze와 달리 경고 및 Fixme 오류를 인쇄하지 않습니다. PIP 용 <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)
PIP 용> = 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 검토를 사용할 수 있습니다 :
$ pip install pip-review
$ pip-review --local --interactive
PIP-Review는 PIP 공구의 포크입니다.@knedlsepp가 언급 한 PIP-TOOLS 문제를 참조하십시오.PIP 검토 패키지 작동하지만 PiP-Tools 패키지는 더 이상 작동하지 않습니다.
버전 0.5 이후로 PIP 검토 Windows에서 작동합니다.
답변
나는 업그레이드와 동일한 문제가있었습니다.일은 결코 모든 패키지를 업그레이드하지 않습니다.프로젝트가 중단되기 때문에 필요한 내용 만 업그레이드합니다.
패키지로 패키지를 업그레이드하고 요구 사항 .txt 파일을 업데이트하는 데 쉬운 방법이 없었기 때문에이 PIP 업그레이드가 선택한 패키지 (또는 모든 패키지)에 대한 요구 사항 .txt 파일의 버전을 갱신합니다.
설치
pip install pip-upgrader
용법
VirtualEnv를 활성화하십시오 (중요, 현재 VirtualEnv에서 업그레이드 된 패키지의 새 버전을 설치하므로).
CD를 프로젝트 디렉토리에 넣은 다음 실행 :
pip-upgrade
고급 사용법
요구 사항이 비표준 위치에 배치되면 인수로 보내십시오.
pip-upgrade path/to/requirements.txt
업그레이드 할 패키지를 이미 알고 있으면 인수로 보내주십시오.
pip-upgrade -p django -p celery -p dateutil
사전 릴리스 / 사후 릴리스 버전으로 업그레이드 해야하는 경우 명령에 --prerrelease 인수를 추가하십시오.
전체 공개 :이 패키지를 썼습니다.
출처:https://stackoverflow.com/questions/2720014/how-to-upgrade-all-python-packages-with-pip
최근댓글