2010-09-29 16 views
202

Quiero eliminar por completo Python 2.7 de mi Mac OS X 10.6.4. Logré eliminar la entrada de la variable PATH invirtiendo mi .bash_profile. Pero también quiero eliminar todos los directorios, archivos, enlaces simbólicos y entradas que fueron instaladas por el paquete de instalación de Python 2.7. Tengo el paquete de instalación de http://www.python.org/. ¿Qué directorios/archivos/entradas de archivo de configuración necesito eliminar? ¿Hay una lista en algún lado?Cómo desinstalar Python 2.7 en Mac OS X 10.6.4?

+1

Para muchos proyectos de código abierto, recomiendo utilizar [MacPorts] (http://www.macports.org/) para instalarlos. Le permite actualizar y eliminarlos fácilmente. También hay [Homebrew] (https://github.com/mxcl/homebrew) pero está menos maduro (IMO). – Zenon

+0

¿No hay otras cosas como un grupo de archivos en/Library/Python, y los paquetes de pip que puede haber instalado? –

Respuesta

393

NOTA: Los pasos que se indican aquí hacen no afectan al sistema suministrado por Apple Python 2.7; solo eliminan un marco de Python de terceros como los instalados por los instaladores de python.org. No intente eliminar ningún sistema Python suministrado por Apple que se encuentre en /System/Library y /usr/bin.

La lista completa es documented here. Básicamente, todo lo que tiene que hacer es la siguiente:

  1. Retire el tercero Python 2.7 marco

    sudo rm -rf /Library/Frameworks/Python.framework/Versions/2.7

  2. Quitar el directorio de Python 2.7 aplicaciones

    sudo rm -rf "/Applications/Python 2.7"

  3. Eliminar los enlaces simbólicos en /usr/local/bin ese punto t a esta versión de Python ver ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7' y ejecute el siguiente comando para eliminar todos los enlaces:

    cd /usr/local/bin/ 
    ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7' | awk '{print $9}' | tr -d @ | xargs rm 
    
  4. Si es necesario, editar el archivo (s) Perfil de la cáscara para eliminar la adición de /Library/Frameworks/Python.framework/Versions/2.7 a su archivo PATH medio ambiente. Dependiendo del shell que use, cualquiera de los siguientes archivos puede haber sido modificado: ~/.bash_login, ~/.bash_profile, ~/.cshrc, ~/.profile, ~/.tcshrc, y/o ~/.zprofile.

+85

Gracias por el aviso de Ned, lo eliminé, y me enteré de la manera difícil en que tiene que volver a instalar Mac OS X. Dejo esto aquí para cualquier otra persona que venga y piense lo mismo que yo. No elimine Python en/System/Library/Frameworks/... Ninguna de sus aplicaciones funcionará y deberá reinstalar OS X. – brthornbury

+24

Python 2.7 es el sistema predeterminado Python en sistemas recientes, mientras que en 10.6.4 Fue 2.6 y 2.7 fue instalado por el usuario. NO DESINSTALA 2.7 DE UN SISTEMA RECIENTE DE OS X. –

+19

Los pasos anteriores no eliminan el sistema Python de * any * versión de OS X. Las pitones del sistema están instaladas en '/ System/Library/Frameworks' (que nunca debe modificar), no'/Library/Frameworks'. –

65

Esta funciona:

cd /usr/local/bin/ 
ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7' | awk '{print $9}' | tr -d @ | xargs rm 

Descripción: Es una lista de todos los enlaces, elimina @ personaje y luego los elimina.

+1

Probé todas las respuestas proporcionadas aquí, y esta es la que finalmente funcionó. – jtsmith1287

19

Si ha instalado utilizando el instalador PKG, que puede hacer:

pkgutil --pkgs 

o mejor:

pkgutil --pkgs | grep org.python.Python 

la que sería algo así como:

org.python.Python.PythonApplications-2.7 
org.python.Python.PythonDocumentation-2.7 
org.python.Python.PythonFramework-2.7 
org.python.Python.PythonProfileChanges-2.7 
org.python.Python.PythonUnixTools-2.7 

ahora puede seleccione qué paquetes va a desvincular (eliminar).

Esta es la documentación de desenlace:

--unlink package-id 
      Unlinks (removes) each file referenced by package-id. WARNING: This command makes no attempt to perform reference counting or dependency analy- 
      sis. It can easily remove files required by your system. It may include unexpected files due to package tainting. Use the --files command first 
      to double check. 

En mi ejemplo, usted va a escribir

pkgutil --unlink org.python.Python.PythonApplications-2.7 
pkgutil --unlink org.python.Python.PythonDocumentation-2.7 
pkgutil --unlink org.python.Python.PythonFramework-2.7 
pkgutil --unlink org.python.Python.PythonProfileChanges-2.7 
pkgutil --unlink org.python.Python.PythonUnixTools-2.7 

o en una sola línea:

pkgutil --pkgs | grep org.python.Python | xargs -L1 pkgutil -f --unlink 

Importante: no es --unlink disponible más comenzando con Lion (desde Q1`2014 que incluiría Lion, Mountain Lion y Mavericks). Si alguien que llega a estas instrucciones intenta usarlo con lion, debería intentar adaptarlo con lo que dice esta publicación: https://wincent.com/wiki/Uninstalling_packages_(.pkg_files)_on_Mac_OS_X

+2

Desafortunadamente, dependiendo de 'pkgutil' no se eliminarán todos los archivos instalados por el instalador de Python porque algunos de ellos se crean durante la instalación de los guiones de postflight y, como tales, no están registrados. –

5

No es necesario desinstalar las versiones antiguas de python.

Sólo tiene que instalar una nueva versión decir python-3.3.2-macosx10.6.dmg y cambiar el enlace simbólico de pitón a python3.3 recién instalado

Compruebe la ruta de Python por defecto y con python3.3 siguiente comandos

"que pitón" y "el que python3.3"

continuación, elimine enlace blando del pitón existente y el punto a python3.3

+6

Gracias, pero esto no responde mi pregunta. La pregunta no es si necesito desinstalar una versión anterior de python para instalar una nueva versión. –

+0

Este parece ser el enfoque más seguro, ya que para mí, no es tan útil extraer lo que el sistema operativo pone en la máquina. Yo también "recibí el paquete de instalación de http://python.org" después de encontrar problemas de sintaxis en las declaraciones de python3 en un shell de python2. Mi primer pensamiento fue eliminar python2 y usar python3, en su lugar. Sin embargo, de publicaciones anteriores que confirman los peligros de esa acción. Esta fue la mejor solución para mí y sigue la idea de "usar enlaces para redirigir el comportamiento". Además, el shell python3 ya estaba instalado, solo tenía que escribir "python3" en lugar de "python" en el indicador. –

5

En lo que respecta a eliminar los enlaces simbólicos, me pareció que para ser uso ful.

find /usr/local/bin -lname '../../../Library/Frameworks/Python.framework/Versions/2.7/*' -delete 
2

he desinstalado Python 2.7.10 en Mac OS X Yosemite de la siguiente manera "cerveza desinstalación pitón". Se completó con éxito la siguiente manera:

John-Mulhall-MacBook-Pro:~ js$ brew uninstall python 
Uninstalling /usr/local/Cellar/python/2.7.10... (4777 files, 78M) 
John-Mulhall-MacBook-Pro:~ js$ 

Obviamente usted tiene que tener instalado cerveza por primera vez para que esto funcione ...

https://github.com/Homebrew/homebrew/blob/master/share/doc/homebrew/Installation.md#installation

** Si desea desinstalar el python3 con cerveza:

brew uninstall --force python3 
+1

Funcionó correctamente en OS X El Capitan (10.11.4) – realPK

+0

no funciona en macOS Sierra – huuang

+0

Esto no desinstala Python, sino que elimina una copia adicional de python instalada mediante brew, si existe. –

9

desinstalación con brew uninstall python se no quitar el instalado de forma nativa python, sino más bien el verson instalado con brew.

-1

Onur Güzel proporciona la solución en su publicación de blog, "Uninstall Python Package from OS X.

debe escribir los siguientes comandos en el terminal:

  1. sudo rm -rf /Library/Frameworks/Python.framework
  2. cd /usr/local/bin
  3. ls -l . | grep '../Library/Frameworks/Python.framework' | awk '{print $9}' | xargs sudo rm
  4. sudo rm -rf "/Applications/Python x.y"

    donde x.y comando es la versión de Python instalado. Según su pregunta, debería ser 2.7.

En palabras de Onur:

ADVERTENCIA: Este comando eliminará todas las versiones de Python instalados con paquetes. Python proporcionado desde el sistema no se verá afectado.

Si tiene más de 1 versión de Python instalada desde python.org, ejecute el cuarto comando nuevamente, cambiando "x.y" para cada versión de Python que se desinstale.