developer tip

Python의 easy_install로 설치된 패키지를 제거하려면 어떻게해야합니까?

optionbox 2020. 9. 30. 10:24
반응형

Python의 easy_install로 설치된 패키지를 제거하려면 어떻게해야합니까?


Python easy_install은 새 패키지를 매우 편리하게 설치할 수 있도록합니다. 그러나 내가 말할 수있는 한, 설치된 패키지 나열 및 제거와 같은 종속성 관리자의 다른 공통 기능을 구현하지 않습니다.

설치된 항목을 찾는 가장 좋은 방법은 무엇이며 설치된 패키지를 제거하는 가장 좋은 방법은 무엇입니까? 패키지를 수동으로 제거 할 경우 업데이트해야하는 파일이 있습니까 (예 : rm /usr/local/lib/python2.6/dist-packages/my_installed_pkg.egg또는 유사)?


setuptools / easy_install의 대안 인 pip 는 "uninstall"명령을 제공합니다.

설치 지침 에 따라 pip를 설치합니다 .

$ wget https://bootstrap.pypa.io/get-pip.py
$ python get-pip.py

그런 다음 사용 pip uninstall하여 설치된 패키지를 제거 할 수 있습니다.easy_install


설치 제거하기 위해 .egg당신이 필요로 rm -rf계란을 (그것은 디렉토리 수 있음)과에서 일치하는 줄을 제거site-packages/easy-install.pth


먼저 다음 명령을 실행해야합니다.

$ easy_install -m [PACKAGE]

패키지의 모든 종속성을 제거합니다.

그런 다음 해당 패키지의 달걀 파일을 제거하십시오.

$ sudo rm -rf /usr/local/lib/python2.X/site-packages/[PACKAGE].egg

모든 정보는 다른 답변에 있지만 요청을 모두 요약하지 않거나 불필요하게 복잡하게 만드는 것 같습니다.

  • 제거가 필요한 경우 다음을 사용하십시오.

    pip uninstall <package>
    

    (을 사용하여 설치 easy_install pip)

  • '설치된 패키지 나열'에는 다음 중 하나를 사용해야합니다.

    pip freeze
    

    또는:

    yolk -l
    

    더 많은 패키지 세부 정보를 출력 할 수 있습니다.

    (통해 설치 easy_install yolk또는 pip install yolk)


-m 옵션을 사용하여 패키지를 다시 설치 한 다음 lib /의 .egg 파일과 bin /의 바이너리를 제거하여 해킹을 제안하는 몇 가지 소스 가 있습니다 . 또한이 setuptools 문제에 대한 논의는 setuptools 문제 21 로 파이썬 버그 추적기에서 찾을 수 있습니다 .

편집 : 파이썬 버그 추적기에 대한 링크를 추가했습니다.


문제가 심각하게 성가신 경우 virtualenv를 고려할 수 있습니다 . 파이썬 라이브러리를 캡슐화하는 환경을 만들 수 있습니다. 전역 사이트 패키지 디렉토리가 아닌 여기에 패키지를 설치합니다. 해당 환경에서 실행하는 모든 스크립트는 해당 패키지 (선택적으로 글로벌 패키지도 포함)에 액세스 할 수 있습니다. 전 세계적으로 설치하고 싶은지 확실하지 않은 패키지를 평가할 때 이것을 많이 사용합니다. 패키지가 필요하지 않다고 결정하면 가상 환경을 날려 버리는 것이 쉽습니다. 사용하기 매우 쉽습니다. 새 환경 만들기 :

$>virtualenv /path/to/your/new/ENV

virtual_envt는 새 환경에 setuptools를 설치하므로 다음을 수행 할 수 있습니다.

$>ENV/bin/easy_install

새로운 환경을 설정하는 자체 부 스트랩 스크립트를 만들 수도 있습니다. 따라서 하나의 명령으로 기본적으로 설치된 python 2.6, psycopg2 및 django를 사용하여 새 가상 환경을 만들 수 있습니다 (원하는 경우 환경 별 Python 버전을 설치할 수 있음).


공식 (?) 지침 : http://peak.telecommunity.com/DevCenter/EasyInstall#uninstalling-packages

패키지를 다른 버전으로 교체 한 경우 PackageName-versioninfo.egg 파일 또는 디렉토리 (설치 디렉토리에 있음)를 삭제하여 필요하지 않은 패키지를 삭제할 수 있습니다.

현재 설치된 패키지 버전 (또는 패키지의 모든 버전)을 삭제하려면 먼저 다음을 실행해야합니다.

easy_install -mxN PackageName

이렇게하면 Python이 제거하려는 패키지를 계속 검색하지 않습니다. 이 작업을 마치면 제거하려는 스크립트와 함께 .egg 파일 또는 디렉토리를 안전하게 삭제할 수 있습니다.


시험

$ easy_install -m [PACKAGE]

그때

$ rm -rf .../python2.X/site-packages/[PACKAGE].egg

설치된 Python 패키지를 나열하려면 yolk -l. easy_install yolk그래도 먼저 사용해야 합니다.


시간이 지남에 따라 설치된 많은 임의의 Python 패키지를 제거하려고 시도 하면서이 질문을 보았습니다.

이 스레드의 정보를 사용하여 다음과 같이 생각했습니다.

cat package_list | xargs -n1 sudo pip uninstall -y

package_listA로부터 (AWK) 정리되어 pip freezeVIRTUALENV에.

거의 모든 Python 패키지 를 제거하려면 :

yolk -l | cut -f 1 -d " " | grep -v "setuptools|pip|ETC.." | xargs -n1 pip uninstall -y

MacOS X Leopard 10.6.blah에서 동일한 문제가 발생했습니다.

해결책은 MacPorts Python을 호출하고 있는지 확인하는 것입니다.

sudo port install python26
sudo port install python_select
sudo python_select python26
sudo port install py26-mysql

도움이 되었기를 바랍니다.


For me only deleting this file : easy-install.pth worked, rest pip install django==1.3.7


This worked for me. It's similar to previous answers but the path to the packages is different.

  1. sudo easy_install -m
  2. sudo rm -rf /Library/Python/2.7/site-packages/.egg

Plaform: MacOS High Sierra version 10.13.3

참고URL : https://stackoverflow.com/questions/1231688/how-do-i-remove-packages-installed-with-pythons-easy-install

반응형