pip로 설치된 모든 패키지를 제거하려면 어떻게 해야 합니까?
현재 활성화된 가상 환경에서 pip로 설치된 모든 패키지를 제거하려면 어떻게 해야 합니까?
저는 대안적인 해결책으로 이 토막글을 찾았습니다.가상 환경을 다시 만드는 것보다 라이브러리를 더 우아하게 제거할 수 있습니다.
pip freeze | xargs pip uninstall -y
VCS를 통해 패키지를 설치한 경우 이러한 행을 제외하고 패키지를 수동으로 제거해야 합니다(아래 설명 참조 참조).
pip freeze | grep -v "^-e" | xargs pip uninstall -y
가 있는 github/gitlab은 github/gitlab과 같은 패키지를 합니다.@
예:
django @ git+https://github.com/django.git@<sha>
추가할 수 있습니다.cut -d "@" -f1
제거하는 데 필요한 패키지 이름만 가져옵니다.
pip freeze | cut -d "@" -f1 | xargs pip uninstall -y
이것은 모든 Mac, Windows 및 Linux 시스템에서 작동합니다.요구 사항의 모든 pip 패키지 목록을 가져옵니다.txt 파일(참고:이렇게 하면 요구 사항을 덮어씁니다.txt가 존재하지 않으면 새 항목이 생성됩니다. 또한 이전 요구 사항을 대체하지 않으려는 경우도 마찬가지입니다.그런 다음 all following 명령에서 다른 파일 이름을 지정합니다.place requirements.txt).
pip freeze > requirements.txt
이제 하나씩 제거합니다.
pip uninstall -r requirements.txt
만약 우리가 한 번에 제거하고 싶다면 그때.
pip uninstall -r requirements.txt -y
중인 프로젝트의 경우requirements.txt
파일 및 환경이 분산되어 있습니다. 간단히 교체requirements.txt
에서 의위 서예에서로.toberemoved.txt
다음,의 단계를 , 은 그다음위단거다사수있다습니용할음을치면계를의런▁the를 사용할 수 .requirements.txt
이제 깨끗한 환경을 업데이트할 수 있습니다.
파일을 생성하지 않고 단일 명령을 실행하는 경우(@joeb 제안).
pip uninstall -y -r <(pip freeze)
저는 이 답변을 댓글 섹션에서 올리고 싶었습니다. 왜냐하면 그것은 스레드에서 가장 우아한 해결책 중 하나이기 때문입니다.이 답변에 대한 전적인 신뢰는 @joeb에게 있습니다.
pip uninstall -y -r <(pip freeze)
위의 답변 중 많은 부분이 처리하지 못하는 가상 환경의 컨텍스트 밖에서 사용자 패키지 폴더를 지우는 사용 사례에 적합했습니다.
편집: Makefile에서 이 명령어를 작동시키는 방법을 아는 사람?
보너스: 배시 별칭
편의를 위해 bash 프로필에 추가합니다.
alias pipuninstallall="pip uninstall -y -r <(pip freeze)"
그런 다음 실행:
pipuninstallall
Pipenv에 대한 대안
pipenv를 사용하는 경우 다음을 실행할 수 있습니다.
pipenv uninstall --all
시의 대안
Poetry를 사용하는 경우 다음을 실행합니다.
poetry env remove --python3.9
(Python 버전과 일치하도록 버전 번호를 변경해야 합니다.)
이것은 최신 제품과 함께 작동합니다.저는 그것이 그것을 하는 가장 짧고 선언적인 방법이라고 생각합니다.
virtualenv --clear MYENV
하지만 가상 환경을 삭제하고 다시 만드는 것이 어떨까요?
불변의 법칙.게다가 다른 솔루션이 사용하는 파이프와 그랩핑을 모두 기억하는 것은 어렵습니다.
사하는다답변을 사용하는 다른 pip list
또는pip freeze
그렇지 않으면 공용 네임스페이스에 있는 패키지도 제거합니다.
여기 제가 자주 사용하는 스니펫이 있습니다.
pip freeze --local | xargs pip uninstall -y
참조:pip freeze --help
다음을 수행하여 관리했습니다.
- 사항 인 " 다요파만듭다니일을항사음구▁called다▁the"를 생성합니다.
reqs.txt
된 패키지
pip freeze > reqs.txt
- 다음 런그 다모패제거다니에서 합니다.
reqs.txt
# -y means remove the package without prompting for confirmation
pip uninstall -y -r reqs.txt
저는 이 방법이 마음에 듭니다. 왜냐하면 당신이 실수했을 때 의존해야 하는 pip 요구사항 파일이 있기 때문입니다.또한 반복 가능하며 교차 플랫폼(윈도우즈, 리눅스, MacOs)입니다.
1 1(포함 1) 포함pip freeze
)
pip freeze | xargs pip uninstall -y
2 (with 방법 2 (포함 2 ((포))pip list
)
pip list | awk '{print $1}' | xargs pip uninstall -y
3 3(포함 3) 포함)virtualenv
)
virtualenv --clear MYENV
(윈도우)가 설치되어 있는 path
올바르게 구성된 경우 다음을 사용할 수 있습니다.
pip freeze > unins && pip uninstall -y -r unins && del unins
유닉스 계열 시스템의 경우도 이와 유사해야 합니다.
pip freeze > unins && pip uninstall -y -r unins && rm unins
'File not found(파일을 찾을 수 없음)'와 같은 문제가 발생할 수 있기 때문에 이 문제가 완전히 해결되지 않는다는 경고일 뿐이지만, 경우에 따라 작동할 수도 있습니다.
을 위해: 편집명: 을위해확성::unins
는 이 할 때 입니다.pip freeze > unins
그런 다음 작성된 파일을 사용하여 암묵적인 동의/사전 승인을 얻어 위의 패키지를 제거합니다.pip uninstall -y -r unins
파일이 완료되면 최종적으로 삭제됩니다.
--user 옵션을 사용하여 사용자 사이트에 설치된 모든 패키지를 제거합니다.
pip3 freeze --user | xargs pip3 uninstall -y
Windows 사용자의 경우 Windows PowerShell에서 이 기능을 사용합니다.
pip uninstall -y (pip freeze)
먼저 모든 패키지를 에 추가합니다.requirements.txt
pip freeze > requirements.txt
그런 다음 모두 제거
pip uninstall -y -r requirements.txt
가장 빠른 방법은 가상 환경을 완전히 다시 만드는 것입니다.제 생각엔 당신이 요구사항이 있는 것 같군요.프로덕션과 일치하지 않는 경우 txt 파일:
# On production:
pip freeze > reqs.txt
# On your machine:
rm $VIRTUALENV_DIRECTORY
mkdir $VIRTUALENV_DIRECTORY
pip install -r reqs.txt
virtualenwrapper 함수 사용:
wipeenv
wipeenv 설명서 참조
제가 알고 있는 오래된 질문이지만 우연히 발견했기 때문에 나중에 참조할 수 있도록 다음과 같이 할 수 있습니다.
pip uninstall [options] <package> ...
pip uninstall [options] -r <requirements file> ...
-r, --평가 파일
지정된 요구 사항 파일에 나열된 모든 패키지를 제거합니다.이 옵션은 여러 번 사용할 수 있습니다.
Pip 설명서 버전 8.1부터 시작합니다.
가상 환경에서 모든 패키지를 제거하는 가장 좋은 방법입니다.
Windows PowerShell:
pip freeze > unins ; pip uninstall -y -r unins ; del unins
Windows 명령 프롬프트:
pip freeze > unins && pip uninstall -y -r unins && del unins
Linux:
pip3 freeze > unins ; pip3 uninstall -y -r unins ; rm unins
(제가 @blueberryfields의 답변에 대해 언급할 만큼 충분한 명성이 없기 때문에 답변으로 추가합니다.)
@blueberryfields의 응답은 잘 작동하지만 제거할 패키지가 없으면 실패합니다(이 "모두 삭제"가 스크립트 또는 makefile의 일부인 경우 문제가 될 수 있음).이 문제는 다음을 통해 해결할 수 있습니다.xargs -r
의 GNU 버전을 사용하는 경우xargs
:
pip freeze --exclude-editable | xargs -r pip uninstall -y
부터man xargs
:
-r, --no-run-if-empty
표준 입력에 공백이 없는 경우 명령을 실행하지 마십시오.일반적으로 명령은 입력이 없더라도 한 번 실행됩니다.이 옵션은 GNU 확장입니다.
pip3 freeze --local | xargs pip3 uninstall -y
빈 명령을 얻으려면 이 명령을 여러 번 실행해야 할 경우가 있습니다.pip3 freeze --local
.
이것이 제가 모든 파이썬 패키지를 제거하는 가장 쉬운 방법이었습니다.
from pip import get_installed_distributions
from os import system
for i in get_installed_distributions():
system("pip3 uninstall {} -y -q".format(i.key))
Pipenv에서도 플랫폼 간에 쉽고 강력한 방법은 다음과 같습니다.
pip freeze
pip uninstall -r requirement
pipenv에 의해:
pipenv run pip freeze
pipenv run pip uninstall -r requirement
하지만 piplock 또는 pipfile은 업데이트하지 않으므로 주의하십시오.
사용만 통한 교차 플랫폼 지원pip
:
#!/usr/bin/env python
from sys import stderr
from pip.commands.uninstall import UninstallCommand
from pip import get_installed_distributions
pip_uninstall = UninstallCommand()
options, args = pip_uninstall.parse_args([
package.project_name
for package in
get_installed_distributions()
if not package.location.endswith('dist-packages')
])
options.yes = True # Don't confirm before uninstall
# set `options.require_venv` to True for virtualenv restriction
try:
print pip_uninstall.run(options, args)
except OSError as e:
if e.errno != 13:
raise e
print >> stderr, "You lack permissions to uninstall this package.
Perhaps run with sudo? Exiting."
exit(13)
# Plenty of other exceptions can be thrown, e.g.: `InstallationError`
# handle them if you want to.
Windows에서 경로가 올바르게 구성된 경우 다음을 사용할 수 있습니다.
pip freeze > unins && pip uninstall -y -r unins && del unins
이것은 내 윈도우 시스템에서 작동합니다.
pip freeze > packages.txt && pip uninstall -y -r packages.txt && del packages.txt
첫 번째 파트pip freeze > packages.txt
버전 번호와 함께 pip을 사용하여 설치된 패키지 목록이 있는 텍스트 파일을 만듭니다.
제2부pip uninstall -y -r packages.txt
확인 메시지를 묻지 않고 설치된 모든 패키지를 삭제합니다.
제3부del packages.txt
방금 생성된 패키지를 삭제합니다.txt의
왜 그냥rm -r .venv
그리고 다시 시작할까요?
pip uninstall `pip freeze --user`
그--user
옵션은 시스템에 설치된 패키지가 목록에 포함되지 않도록 방지하므로/usr/lib
그리고.distutils
허가 오류
이것은 Windows에서 효과가 있었습니다.
pip uninstall -y (pip freeze)
이 명령어는 저에게 유용합니다.
pip list | awk '{print $1}' | xargs pip uninstall -y
실행 중인 경우virtualenv
:
virtualenv --clear </path/to/your/virtualenv>
예를 들어 가상 환경이/Users/you/.virtualenvs/projectx
그리고 나서 당신은 도망쳤습니다.
virtualenv --clear /Users/you/.virtualenvs/projectx
가상 환경의 위치를 모르는 경우which python
활성화된 가상 환경 내에서 경로를 가져올 수 있습니다.
윈도우즈의 명령 셸에서 다음 명령은
pip freeze | xargs pip uninstall -y
작동하지 않습니다.Windows(윈도우)를 사용하시는 분들을 위해 다른 방법을 알아봤습니다.
- 설치된 pip 패키지의 모든 이름을 에서 복사합니다.
pip freeze
명령을 .txt 파일에 입력합니다. - 그런 다음 .txt 파일의 위치로 이동하여 명령을 실행합니다.
pip uninstall -r *textfile.txt*
사중인경우를 .pew
wipeenv 명령을 사용할 수 있습니다.
pew wipeenv [env]
에서 설치한 예:neovim
,mypy
그리고.pudb
로컬 개발에 사용하지만 앱 요구 사항에는 포함되지 않습니다.그래서 저는 했습니다:
cat requirements.txt| sed 's/=.*//g' | xargs pip uninstall -y
저한테는 잘 맞았습니다.
언급URL : https://stackoverflow.com/questions/11248073/how-do-i-remove-all-packages-installed-by-pip
'bestsource' 카테고리의 다른 글
Eclipse : 리소스를 필터링하는 동안 오류가 발생했습니다. (0) | 2023.04.29 |
---|---|
Swift의 사전에서 특정 인덱스의 키를 가져오려면 어떻게 해야 합니까? (0) | 2023.04.29 |
XAML만 사용하여 단색 삼각형 그리기 (0) | 2023.04.29 |
"ng-bootstrap"과 "ngx-bootstrap"의 차이점은 무엇입니까? (0) | 2023.04.29 |
반응형 양식 - 필드를 터치됨으로 표시 (0) | 2023.04.24 |