¿Cómo elimino los paquetes instalados con easy_install de Python?

easy_install de Python hace que la instalación de nuevos paquetes sea extremadamente conveniente. Sin embargo, por lo que puedo decir, no implementa las otras características comunes de un administrador de dependencias: enumerar y eliminar paquetes instalados.

¿Cuál es la mejor manera de averiguar qué está instalado y cuál es la mejor forma de eliminar los paquetes instalados? ¿Hay algún archivo que deba actualizarse si elimino los paquetes manualmente (por ejemplo, por rm /usr/local/lib/python2.6/dist-packages/my_installed_pkg.egg o similar)?

pip , una alternativa a setuptools / easy_install, proporciona un comando de “desinstalación”.

Instale el pip de acuerdo con las instrucciones de instalación :

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

Luego puede usar la pip uninstall para eliminar los paquetes instalados con easy_install

Para desinstalar un .egg , debe .egg rm -rf el huevo (puede ser un directorio) y eliminar la línea correspondiente de site-packages/easy-install.pth

Primero tienes que ejecutar este comando:

 $ easy_install -m [PACKAGE] 

Se elimina todas las dependencias del paquete.

Luego retire el archivo de huevo de ese paquete:

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

Toda la información está en las otras respuestas, pero ninguna resume sus solicitudes o parece hacer las cosas innecesariamente complejas:

  • Para su eliminación necesita utilizar:

     pip uninstall  

    (Instalar usando easy_install pip )

  • Para su ‘lista de paquetes instalados’ necesita usar:

     pip freeze 

    O:

     yolk -l 

    que puede dar salida a más detalles del paquete.

    (Instalar a través de easy_install yolk o pip install yolk )

Hay varias fonts en la red que sugieren un hack al reinstalar el paquete con la opción -m y luego simplemente eliminando el archivo .egg en lib / y los binarios en bin /. Además, la discusión sobre este problema de setuptools se puede encontrar en el rastreador de errores de Python como setuptools problem 21 .

Editar: Se agregó el enlace al bugtracker de python.

Si el problema es una molestia lo suficientemente grave para usted, puede considerar virtualenv . Te permite crear un entorno que encapsula las bibliotecas de Python. Instala paquetes allí en lugar de en el directorio de paquetes de sitio global. Todos los scripts que se ejecutan en ese entorno tienen acceso a esos paquetes (y, opcionalmente, también a sus paquetes globales). Lo uso mucho al evaluar paquetes que no estoy seguro de que quiera o necesite instalar globalmente. Si decide que no necesita el paquete, es bastante fácil simplemente destruir ese entorno virtual. Es bastante fácil de usar. Hacer un nuevo env:

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

virtual_envt instala setuptools por ti en el nuevo entorno, para que puedas hacer:

 $>ENV/bin/easy_install 

Incluso puede crear sus propios scripts boostrap que configuran su nuevo entorno. Entonces, con un comando, puede crear un nuevo entorno virtual con, por ejemplo, python 2.6, psycopg2 y django instalados de forma predeterminada (puede instalar una versión específica de env de python si lo desea).

Instrucciones oficiales (?): http://peak.telecommunity.com/DevCenter/EasyInstall#uninstalling-packages

Si ha reemplazado un paquete con otra versión, puede simplemente eliminar el (los) paquete (s) que no necesita eliminando el archivo PackageName-versioninfo.egg (que se encuentra en el directorio de instalación).

Si desea eliminar la versión actualmente instalada de un paquete (o todas las versiones de un paquete), primero debe ejecutar:

 easy_install -mxN PackageName 

Esto asegurará que Python no continúe buscando el paquete que planea eliminar. Después de hacer esto, puede eliminar de forma segura los archivos o directorios .egg, junto con cualquier secuencia de comandos que desee eliminar.

tratar

 $ easy_install -m [PACKAGE] 

entonces

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

Para listar los paquetes de Python instalados, puede usar yolk -l . Aunque easy_install yolk usar easy_install yolk primero.

Encontré esta pregunta al intentar desinstalar los muchos paquetes aleatorios de Python instalados a lo largo del tiempo.

Usando la información de este hilo, esto es lo que se me ocurrió:

 cat package_list | xargs -n1 sudo pip uninstall -y 

La package_list se limpia (awk) de una pip freeze en un virtualenv.

Para eliminar casi todos los paquetes de Python:

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

Me encontré con el mismo problema en mi MacOS X Leopard 10.6.blah.

La solución es asegurarse de que esté llamando a MacPorts Python:

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

Espero que esto ayude.

Para mi solo borro este archivo: easy-install.pth funcionó, reste pip instale django == 1.3.7

Esto funcionó para mí. Es similar a las respuestas anteriores, pero la ruta a los paquetes es diferente.

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

Plaform: MacOS High Sierra versión 10.13.3