python setup.py desinstalar

He instalado un paquete de python setup.py install con python setup.py install .

¿Cómo lo desinstalo?

Debe eliminar todos los archivos manualmente y también deshacer cualquier otra cosa que la instalación haya hecho manualmente.

Si no conoce la lista de todos los archivos, puede --record instalarla con la opción --record y ver la lista que produce.

Para grabar una lista de archivos instalados, puede utilizar:

 python setup.py install --record files.txt 

Una vez que quieras desinstalar, puedes usar xargs para hacer la eliminación:

 xargs rm -rf < files.txt 

O si está ejecutando Windows, use Powershell:

 Get-Content files.txt | ForEach-Object {Remove-Item $_ -Recurse -Force} 

Luego elimine también el directorio que contiene, por ejemplo, /Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/my_module-0.1.egg/ en macOS . No tiene archivos, pero Python seguirá importando un módulo vacío:

 >>> import my_module >>> my_module.__file__ None 

Una vez eliminado, Python muestra:

 >>> import my_module Traceback (most recent call last): File "", line 1, in  ModuleNotFoundError: No module named 'my_module' 

Para mí, lo siguiente funciona principalmente:

tener pip instalado, por ejemplo:

 $ easy_install pip 

Comprueba cómo se llama tu paquete instalado desde el punto de vista de pip:

 $ pip freeze 

Esto debe enumerar los nombres de todos los paquetes que haya instalado (y que fueron detectados por pip). El nombre puede ser largo en algún momento, luego use solo el nombre del paquete que se muestra en y después de #egg= . También puede, en la mayoría de los casos, ignorar la parte de la versión (lo que sigue == o - ).

Luego desinstale el paquete:

 $ pip uninstall package.name.you.have.found 

Si solicita confirmación sobre la eliminación del paquete, entonces usted es un tipo con suerte y será eliminado.

pip detectará todos los paquetes, que fueron instalados por pip. También detectará la mayoría de los paquetes instalados a través de easy_install o setup.py, pero esto puede fallar en algunos casos raros.

Aquí está una muestra real de mi prueba local con el paquete llamado ttr.rdstmc en MS Windows.

 $ pip freeze |grep ttr ttr.aws.s3==0.1.1dev ttr.aws.utils.s3==0.3.0 ttr.utcutils==0.1.1dev $ python setup.py develop ..... ..... Finished processing dependencies for ttr.rdstmc==0.0.1dev $ pip freeze |grep ttr ttr.aws.s3==0.1.1dev ttr.aws.utils.s3==0.3.0 -e hg+https://vlcinsky@bitbucket.org/vlcinsky/ttr.rdstmc@d61a9922920c508862602f7f39e496f7b99315f0#egg=ttr.rdstmc-dev ttr.utcutils==0.1.1dev $ pip uninstall ttr.rdstmc Uninstalling ttr.rdstmc: c:\python27\lib\site-packages\ttr.rdstmc.egg-link Proceed (y/n)? y Successfully uninstalled ttr.rdstmc $ pip freeze |grep ttr ttr.aws.s3==0.1.1dev ttr.aws.utils.s3==0.3.0 ttr.utcutils==0.1.1dev 

Editar 2015-05-20

Todo lo que está escrito anteriormente todavía se aplica, de todos modos, hay pequeñas modificaciones disponibles ahora.

Instale pip en python 2.7.9 y python 3.4

Las versiones más recientes de python vienen con un paquete que permite instalar pip incluso cuando no está conectado:

$ python -m ensurepip –upgrade

En algunos sistemas (como Debian Jessie), esto no está disponible (para evitar que se interrumpa la instalación de Python en el sistema).

Usando grep o find

Los ejemplos anteriores suponen que tienes grep instalado. Tenía (en el momento que tenía MS Windows en mi máquina) instalado un conjunto de utilidades de linux (incl. Grep). Alternativamente, use el buscador nativo de MS Windows o simplemente ignore ese filtrado y encuentre el nombre en una lista un poco más larga de los paquetes de Python detectados.

La respuesta # 1 tiene problemas:

  • No trabajará en mac
  • Si se instala un archivo que incluye espacios u otros caracteres especiales, el comando xargs fallará y eliminará todos los archivos / directorios que coincidan con las palabras individuales.
  • la -r en rm -rf es necesaria y, en el peor de los casos, podría eliminar cosas que no desea.

En cambio, para unix-like

 sudo python setup.py install --record files.txt # inspect files.txt to make sure it looks ok. Then: tr '\n' '\0' < files.txt | xargs -0 sudo rm -f -- 

Y para las ventanas:

 python setup.py bdist_wininst dist/foo-1.0.win32.exe 

También hay problemas irresolubles con la desinstalación de setup.py install que no le molestarán en un caso típico. Para una respuesta más completa, vea esta página wiki:

https://ofswiki.org/wiki/Uninstalling_setup.py_install

Primero graba los archivos que tengas instalados. Puede repetir este comando, incluso si ha ejecutado anteriormente setup.py install :

 python setup.py install --record files.txt 

Cuando quieras desinstalar puedes simplemente:

 sudo rm $(cat files.txt) 

Esto funciona porque el comando rm toma una lista de archivos separados por espacios en blanco para eliminar y su registro de instalación es solo una lista de este tipo.

Ahora Python le da la opción de instalar pip durante la instalación (¡estoy en Windows, y al menos Python lo hace para Windows!). Teniendo en cuenta que eligió instalar pip durante la instalación de python (en realidad no tiene que elegir porque está predeterminado), pip ya está instalado para usted. Luego, escriba en el símbolo del sistema pip in, debería ver una ayuda que aparece. Puede encontrar las instrucciones de uso necesarias allí. Por ejemplo, la pip list muestra la lista de paquetes instalados. Puedes usar

 pip uninstall package_name 

para desinstalar cualquier paquete que ya no quieras. Lea más aquí (documentación de pip) .

La forma perezosa: simplemente desinstale desde el menú de instalación de Windows (si está usando Windows), o desde el comando rpm, siempre que lo vuelva a instalar después de crear un paquete de distribución.

Por ejemplo,

 python setup.py bdist_wininst dist/foo-1.0.win32.exe 

(“foo” es un ejemplo, por supuesto).

Vaya al directorio de paquetes de python y elimine su archivo .egg, por ejemplo: En python 2.5 (ubuntu): /usr/lib/python2.5/site-packages/

En Python 2.6 (ubuntu): /usr/local/lib/python2.6/dist-packages/

Probablemente puedes hacer esto como una alternativa:

1) Obtener la versión de python –

 [linux machine]# python Python 2.4.3 (#1, Jun 18 2012, 14:38:55) 

-> El comando anterior le da la versión actual de python que es 2.4.3

2) Obtener el directorio de instalación de python –

 [linux machine]# whereis python python: /usr/bin/python /usr/bin/python2.4 /usr/lib/python2.4 /usr/local/bin/python2.5 /usr/include/python2.4 /usr/share/man/man1/python.1.gz 

-> Desde el comando anterior puede obtener el directorio de instalación que es – /usr/lib/python2.4/site-packages

3) Desde aquí puede eliminar los paquetes y los archivos de python egg.

 [linux machine]# cd /usr/lib/python2.4/site-packages [linux machine]# rm -rf paramiko-1.12.0-py2.4.egg paramiko-1.7.7.1-py2.4.egg paramiko-1.9.0-py2.4.egg 

Esto me funcionó … Y pude desinstalar el paquete que me estaba preocupando 🙂

Creo que puede abrir el archivo setup.py, localizar el nombre del paquete y luego pedir a pip que lo desinstale.

Suponiendo que el nombre está disponible en una variable ‘METADATA’:

 pip uninstall $(python -c "from setup import METADATA; print METADATA['name']") 

No respondiendo exactamente a la pregunta, sino algo que me ayuda todos los días:

Instala tus paquetes con

 pip install . 

Esto pone el paquete en $HOME/.local . Desinstalar con

 pip uninstall  

Ampliando lo que Martin dijo, grabar el resultado de la instalación y un poco de scripts de bash funciona muy bien. Esto es lo que hago …

 for i in $(less install.record); sudo rm $i; done; 

Y prest. Desinstalado.

Podría ser mejor eliminar los archivos relacionados utilizando bash para leer comandos, como los siguientes:

 sudo python setup.py install --record files.txt sudo bash -c "cat files.txt | xargs rm -rf" 

Había ejecutado “python setup.py install” en algún momento en el pasado accidentalmente en mi entorno global, y tuve muchas dificultades para desinstalar. Estas soluciones no ayudaron. “pip uninstall” no funciona con “No se puede desinstalar ‘splunk-appinspect’. No se encontraron archivos para desinstalar”. “sudo pip uninstall” no funcionó “No se puede desinstalar el requisito splunk-appinspect, no instalado”. Intenté desinstalar pip, borrar el caché de pip, buscar el paquete en mi disco duro, etc.

“pip show” finalmente me llevó a la solución, la “Ubicación:” estaba apuntando a un directorio, y al cambiar el nombre de ese directorio se eliminó el paquete de la lista de pip. Renombré el directorio de nuevo, y no volvió a aparecer en la lista de pip, y ahora puedo reinstalar mi paquete en un virtualenv.

Había ejecutado python setup.py install una vez en mi PyCharm, instala todos los paquetes en mi entorno conda base. Más tarde, cuando quiero eliminar todos estos paquetes, la pip uninstall no funciona. Tuve que eliminarlos de /anaconda3/lib/python3.7/site-packages manualmente 🙁

Así que no veo la razón por la que usan setup.py en lugar de escribir el archivo Requirements.txt. El archivo de requisitos se puede usar para instalar paquetes en un entorno virtual y no afectará a los paquetes python del sistema.