¿Puedes simplemente eliminar el directorio de tu instalación de python, o hay algún archivo persistente que debes eliminar?¿Cómo se desinstala un paquete de Python que se instaló usando distutils?
Respuesta
Varía según las opciones que pase a install
y el contenido de distutils configuration files en el sistema/en el paquete. No creo que los archivos se modifiquen fuera de los directorios especificados de esta manera.
Notablemente, distutils does not have an uninstall command en este momento.
También es de destacar que la eliminación de un paquete/huevo puede causar problemas de dependencia: utilidades como easy_install
intentan aliviar esos problemas.
Si esto es para fines de prueba o desarrollo, setuptools tiene un comando develop que se actualiza cada vez que realiza un cambio (para que no tenga que desinstalar y volver a instalar cada vez que realiza un cambio). Y también puedes desinstalar el paquete usando este comando.
Si utiliza esto, todo lo que declare como una secuencia de comandos quedará como un archivo persistente.
Las tres cosas que se instalan que tendrá que eliminar son:
- paquetes/módulos
- Scripts archivos
- datos
Ahora en mi sistema Linux éstos viven en :
- /usr/lib/python2.5/site- paquetes
- /usr/bin
- /usr/share
Pero en un sistema de ventanas que son más propensos a ser enteramente dentro del directorio de distribución de Python. No tengo idea acerca de OSX, excepto que es más fácil seguir el patrón de Linux.
Sí, es seguro simplemente eliminar todo lo que distutils instaló. Eso vale para las carpetas instaladas o los archivos .egg. Naturalmente, cualquier cosa que dependa de ese código ya no funcionará.
Si desea que vuelva a funcionar, simplemente vuelva a instalar.
Por cierto, si está utilizando distutils, también considere usar la función de varias versiones. Le permite tener múltiples versiones de cualquier paquete individual instalado. Eso significa que no necesita eliminar una versión anterior de un paquete si simplemente desea instalar una versión más nueva.
Acabo de desinstalar un paquete de Python, y aunque no soy cierto lo hice perfectamente, estoy razonablemente seguro.
empecé obteniendo una lista de todos los archivos relacionados con Python, por fecha, en el supuesto de que todos los archivos en mi paquete tendrá más o menos la misma marca de tiempo, y no hay otros archivos se.
Afortunadamente, tengo Python instalado bajo /opt/Python-2.6.1
; si hubiera estado utilizando el Python que viene con mi distribución de Linux, habría tenido que recorrer todo el /usr
, lo que habría llevado mucho tiempo.
Luego examiné esa lista y noté con alivio que todas las cosas que deseaba nukear consistían en un directorio, /opt/Python-2.6.1/lib/python2.6/site-packages/module-name/
, y un archivo, /opt/Python-2.6.1/lib/python2.6/site-packages/module-x.x.x_blah-py2.6.egg-info
.
Así que acabo de eliminar esos.
Así es como llegué la lista de fechas-ordenada de archivos:
find "[email protected]" -printf '%[email protected] ' -ls | sort -n | cut -d\ -f 2-
(creo que tiene que haber GNU "encontrar", por cierto, el sabor se obtiene en OS X doesn' t saber acerca de "-printf '% T @'")
Yo uso ese todos el tiempo.
Para Windows 7,
Panel de control -> Programas -> Desinstalar
, entonces
elegir el paquete python eliminar.
Otro truco basado sello de tiempo:
- Crear un ancla:
touch /tmp/ts
- Vuelva a instalar el paquete que quiere eliminar:
python setup.py install --prefix=<PREFIX>
- eliminar archivos lo que son más reciente que el archivo de anclaje:
find <PREFIX> -cnewer /tmp/ts | xargs rm -r
En ubuntu 12.04, he encontrado que el único lugar donde debe buscar por defecto es en
/usr/local/lib/python2.7/
¡Y simplemente elimine la carpeta y el archivo asociados, si hay alguno!
install --record
+ xargs rm
sudo python setup.py install --record files.txt
xargs sudo rm -rf < files.txt
elimina todos los archivos y directorios vacíos, pero deja detrás.
Eso no es ideal, debería ser suficiente para evitar conflictos de paquetes.
Y luego puede terminar el trabajo manualmente si lo desea, leyendo files.txt
, o sea más valiente y automatice la eliminación de directorio vacío también.
Un ayudante segura sería:
python-setup-uninstall() (
sudo rm -f files.txt
sudo python setup.py install --record files.txt && \
xargs rm -rf < files.txt
sudo rm -f files.txt
)
Probado en Python 2.7.6, Ubuntu 14.04.
para Python en Windows:
python -m pip uninstall "package_keyword"
uninstall **** (y/n)?
Gracias a Ciro por dar la imagen de cómo instalarlo. – user8074545
significa también desinstalar imagen. – user8074545
- 1. ¿Cómo se requiere e instala un paquete usando distutils de python 3.x?
- 2. cómo instalar python distutils
- 3. Cómo desencadenar post-compilación usando setuptools/distutils
- 4. ¿Cómo se desinstala la gema RVM?
- 5. Python distutils, ¿cómo obtener un compilador que se va a usar?
- 6. Número de veces que se instaló una aplicación para iphone
- 7. ¿Cómo se desinstala MySQL de Mac OS X?
- 8. Averigüe que el idioma windows se instaló como
- 9. No se puede instalar un paquete Python
- 10. distutils Python no incluyen data_files
- 11. ¿Cómo se desinstala la documentación de OSX en XCode 4?
- 12. ¿Cómo se sobrescriben las banderas de compilación predeterminadas para Cython cuando se compila con distutils?
- 13. Descubra por qué se desinstala una aplicación de Android
- 14. ¿Se eliminan los valores almacenados en NSUserDefaults cuando se desinstala la aplicación que los puso allí?
- 15. Cómo distribuir archivos e iconos `.desktop` para un paquete de Python en Gnome (con distutils o setuptools)?
- 16. ¿Cómo se ejecuta una acción personalizada en WiX solo si se desinstala una característica instalada?
- 17. Distribuya el módulo de extensión de python precompilado con distutils
- 18. Eliminar elementos y estaran en cuando una aplicación se desinstala
- 19. ¿Puede python distutils compilar código CUDA?
- 20. distutils Python no usar la versión correcta de gcc
- 21. en distutils
- 22. ¿Cómo eliminar un programa instalado con distutils?
- 23. cómo documentar un paquete python
- 24. ¿Cómo verifico que el usuario instaló una aplicación de iPhone?
- 25. ¿Cómo se seleccionan las opciones en un formulario usando Python?
- 26. Python - instalar manualmente el paquete usando virtualenv
- 27. Ejecutando un paquete python
- 28. Cómo mostrar una actividad antes de mi aplicación se desinstala (Android)
- 29. Python: ¿cómo se almacena una matriz dispersa usando Python?
- 30. Dependencias opcionales en distutils/pip
¿Puede usted por favor actualizar esta para abordar directamente los archivos parte persistente de la pregunta? –
Creo que sí, no se crean archivos fuera de los directorios especificados por la configuración de distutils y los indicadores de instalación, por lo que cualquier archivo "persistente" existirá en estos directorios. Varía de un paquete a otro. – cdleary
@cdleary: gracias, pero esperaba que simplemente aclararas y fortalecieras tu respuesta, sin agregar un largo hilo de comentarios. –