[python] pip로 설치된 모든 패키지를 제거하는 가장 쉬운 방법은 무엇입니까?

내 가상 환경 중 하나를 수정하려고합니다. 설치된 모든 라이브러리를 프로덕션과 일치하는 라이브러리로 다시 설정하고 싶습니다.

pip로 이것을 수행하는 빠르고 쉬운 방법이 있습니까?



답변

이 스 니펫을 대체 솔루션으로 찾았습니다. virtualenv를 재생성하는 것보다 라이브러리를보다 우아하게 제거합니다.

pip freeze | xargs pip uninstall -y

VCS를 통해 패키지를 설치 한 경우 해당 행을 제외하고 패키지를 수동으로 제거해야합니다 (아래 설명에서 높이기).

pip freeze | grep -v "^-e" | xargs pip uninstall -y


답변

이것은 모든 Mac, Windows 및 Linux 시스템에서 작동합니다. requirements.txt 파일에서 모든 pip 패키지 목록을 가져 오려면 (참고 : 존재하는 경우 requirements.txt를 덮어 쓰고 새 파일을 작성합니다. 또한 오래된 requirements.txt를 바꾸지 않으려는 경우 다른 파일 이름을 지정하십시오. 모든 다음 명령 (places.txt).

pip freeze > requirements.txt

이제 하나씩 제거

pip uninstall -r requirements.txt

한 번에 모두 제거하려면

pip uninstall -r requirements.txt -y

requirements.txt파일 이있는 기존 프로젝트에서 작업 중이고 환경이 다른 requirements.txt경우 위의 예에서 를로 바꾸십시오 toberemoved.txt. 그런 다음 위의 단계를 수행하면requirements.txt 를 사용하여 이제 깨끗한 환경을 업데이트 .

그리고 파일을 만들지 않고 단일 명령의 경우 (@joeb 제안).

pip uninstall -y -r <(pip freeze)


답변

이것은 최신으로 작동합니다. 나는 그것이 가장 짧고 선언적인 방법이라고 생각합니다.

virtualenv --clear MYENV

그러나 일반적으로 불변성 규칙 이후 virtualenv를 삭제하고 다시 만듭니다!


답변

이 답변은 스레드에서 가장 우아한 솔루션 중 하나이므로 주석 섹션 에서이 답변을 높이고 싶었습니다. 이 답변에 대한 전체 크레딧은 @joeb 로갑니다 .

pip uninstall -y -r <(pip freeze)

위의 답변 중 많은 부분이 처리하지 못하는 virtualenv 컨텍스트 외부에서 사용자 패키지 폴더를 지우는 유스 케이스에 유용합니다.

편집 : 누구나이 명령을 Makefile에서 작동시키는 방법을 알고 있습니까?

보너스 : bash 별명

편의를 위해 이것을 내 bash 프로필에 추가합니다.

alias pipuninstallall="pip uninstall -y -r <(pip freeze)"

그런 다음 다음을 실행하십시오.

pipuninstallall

pipenv의 대안

pipenv 를 사용하는 경우 다음을 실행할 수 있습니다.

pipenv uninstall --all


답변

다른 이름을 사용 pip list하거나 pip freeze 포함해야하는--local 다른 답변 은 공통 네임 스페이스에있는 패키지도 제거합니다.

여기 제가 정기적으로 사용하는 스 니펫이 있습니다.

 pip freeze --local | xargs pip uninstall -y

참조 : pip freeze --help


답변

방법 1 (함께 pip freeze)

pip freeze | xargs pip uninstall -y

방법 2 (포함 pip list)

pip list | awk '{print $1}' | xargs pip uninstall -y

방법 3 (함께 virtualenv)

virtualenv --clear MYENV


답변

다음을 수행하여 관리했습니다.

현재 설치된 패키지 목록으로 reqs.txt 라는 요구 사항 파일을 작성하십시오.

pip freeze > reqs.txt

그런 다음 reqs.txt 에서 모든 패키지를 설치 제거하십시오.

pip uninstall \
   -y # remove the package with prompting for confirmation
   -r reqs.txt

실수로 핍 요구 사항 파일을 항상 가지고 있기 때문에이 방법이 마음에 듭니다. 또한 반복 가능합니다.