¿Cómo desinstalar Python 2.7 en un Mac OS X 10.6.4?


339

Quiero eliminar completamente Python 2.7 de mi Mac OS X 10.6.4. Logré eliminar la entrada de la PATHvariable revertiendo mi .bash_profile. Pero también quiero eliminar todos los directorios, archivos, enlaces simbólicos y entradas que se instalaron con 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 debo eliminar? ¿Hay una lista en algún lugar?

Respuestas:


705

No intente eliminar ningún sistema Python proporcionado por Apple que esté en /System/Libraryy /usr/bin, ya que esto puede dañar todo su sistema operativo.


NOTA: Los pasos enumerados a continuación no afectan el sistema Python 2.7 suministrado por Apple; solo eliminan un marco de Python de terceros, como los instalados por los instaladores de python.org .


La lista completa se documenta aquí . Básicamente, todo lo que necesita hacer es lo siguiente:

  1. Eliminar el marco de Python 2.7 de terceros

    sudo rm -rf /Library/Frameworks/Python.framework/Versions/2.7
  2. Eliminar el directorio de aplicaciones Python 2.7

    sudo rm -rf "/Applications/Python 2.7"
  3. Elimine los enlaces simbólicos, en /usr/local/bin, que apuntan a esta versión de Python. Véalos usando

    ls -l /usr/local/bin | grep '../Library/Frameworks/Python.framework/Versions/2.7' 

    y luego 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, edite sus archivos de perfil de shell para eliminar la adición /Library/Frameworks/Python.framework/Versions/2.7a su PATHarchivo de entorno. Dependiendo de la cáscara se utiliza, cualquiera de los siguientes archivos pueden haber sido modificados: ~/.bash_login, ~/.bash_profile, ~/.cshrc, ~/.profile, ~/.tcshrc, y / o ~/.zprofile.


157
Gracias por el aviso, Ned, lo eliminé y descubrí de la manera difícil que tienes que reinstalar 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 tendrá que reinstalar OS X.
brthornbury

44
Python 2.7 es el sistema predeterminado Python en sistemas recientes, mientras que en 10.6.4 era 2.6 y 2.7 estaba instalado por el usuario. NO DESINSTALE 2.7 DE UN SISTEMA OS X RECIENTE.
Martijn Pieters

30
Los pasos anteriores no eliminan el sistema Python de ninguna versión de OS X. Los Pythons del sistema están instalados /System/Library/Frameworks(que nunca debe modificar), no /Library/Frameworks.
Ned Deily

55
brew doctorTambién se puede utilizar para encontrar los enlaces simbólicos no utilizados.
Shubham Kushwah

55
¡No hagas esos pasos! ¡Tu entorno virtualenv se romperá! ¡¡¡Oh Dios mío!!! ¡¿Por qué hice estos pasos !!!!!!!!!!
FIREUSD

75

Este 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: enumera todos los enlaces, elimina @caracteres y luego los elimina.


1
Intenté todas las respuestas proporcionadas aquí, y esta es la que finalmente hizo el truco.
jtsmith1287

25

Si lo instaló utilizando el instalador PKG, puede hacer lo siguiente:

pkgutil --pkgs

o mejor:

pkgutil --pkgs | grep org.python.Python

que generará algo 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 seleccionar qué paquetes va a desvincular (eliminar).

Esta es la documentación de desvinculación:

 --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, escribirás

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: --unlink ya no está disponible a partir de Lion (a partir de Q1`2014 que incluiría Lion, Mountain Lion y Mavericks). Si alguien que viene a estas instrucciones trata de 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


44
Desafortunadamente, dependiendo de pkgutilno eliminará todos los archivos instalados por el instalador de Python porque algunos de ellos se crean durante los scripts de instalación posteriores al vuelo y, como tales, no están registrados.
Ned Deily

21

Intentando desinstalar Python con

brew uninstall python

será no quitar el Python instalado de forma nativa, sino más bien la versión instalada con brew.


9

Con respecto a la eliminación de los enlaces simbólicos, me pareció útil.

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

esta es una idea mucho mejor que analizar la salida de lscomo en la respuesta aceptada
spinup

8

Crea el enlace simbólico a la última versión

 ln -s -f /usr/local/bin/python3.8 /usr/local/bin/python

Cerrar y abrir una nueva terminal

e intenta

 python --version

Muchas gracias y lo mismo ocurre con pip "ln -s -f / usr / local / bin / pip3 / usr / local / bin / pip" y luego "pip --version" también si desea actualizar pip use este comando "pip install --upgrade pip"
Moh Alaraabi

6

No es necesario desinstalar versiones antiguas de Python.

Simplemente instale una nueva versión, digamos python-3.3.2-macosx10.6.dmg y cambie el enlace suave de python a python3.3 recién instalado

Verifique la ruta de acceso predeterminada de python y python3.3 con los siguientes comandos

"qué python" y "qué python3.3"

luego elimine el enlace suave existente de python y apúntelo a python3.3


10
Gracias, pero esto no responde mi pregunta. La pregunta no es si necesito desinstalar una versión antigua de Python para instalar una nueva versión.
Jan Deinhard

1
Este parece el enfoque más seguro, ya que, para mí, no es tan bueno jugar con lo que el sistema operativo pone en la máquina. Yo también "obtuve el paquete de instalación de python.org " después de encontrar problemas de sintaxis de 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.
Mark Longmire

@ minhas23 ¿Cómo eliminaría el enlace suave y crearía uno nuevo?
doberkofler

5

Onur Güzel proporciona la solución en su publicación de blog, "Desinstalar Python Package de 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 el comando xy es la versión de Python instalada. Según su pregunta, debería ser 2.7.

En palabras de Onur:

ADVERTENCIA: Este comando eliminará todas las versiones de Python instaladas con paquetes. Python proporcionado por 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 "xy" para cada versión de Python que se desinstalará.


Eso resolvió mi problema, tengo 2.7.10 y brew instalado 2.7.15 y cuando ejecuté "python" el 2.7.10 seguía apareciendo no 2.7.15, después de su ayuda todo funciona ahora, gracias
Radek

4

Nota : Si instaló Python usando Homebrew, entonces puede seguir los siguientes pasos, de lo contrario, busque otra solución.


Para desinstalar Python 2.7.10 que instaló usando Homebrew, simplemente puede emitir el siguiente comando:

brew uninstall python

Del mismo modo, si desea desinstalar Python 3 (que instaló usando Homebrew):

brew uninstall --force python3

3

No es necesario desinstalarlo o volverse loco con enlaces simbólicos, solo use un alias. Me enfrenté al mismo problema al actualizar a Python 3.7.1.
Simplemente instale la nueva versión de Python usando brew install pythonluego en su .bash_profilecrear un alias que apunta a la nueva versión de Python; así: alias python="/usr/local/bin/python3"luego guardar y ejecutar source ~/.bash_profile.
Hecho.


2

Si está pensando en eliminar manualmente el Python 2.7 predeterminado de Apple, le sugiero que cuelgue y haga lo siguiente: Parece que Apple lo hará en breve por usted:

Python 2.7 en desuso en OSX 10.15 Catalina

Python 2.7- así como Ruby & Perl- están en desuso en Catalina: (pase a la sección " Tiempos de ejecución del lenguaje de scripting "> " Desaprobaciones ")

https://developer.apple.com/documentation/macos_release_notes/macos_catalina_10_15_release_notes

Apple eliminará Python 2.7 en OSX 10.16

De hecho, si no hace nada, según The Mac Observer , según la versión 10.16 de OSX, Python 2.7 desaparecerá de su sistema:

https://www.macobserver.com/analysis/macos-catalina-deprecates-unix-scripting-languages/

Dada esta revelación, sugeriría que el mejor curso de acción es no hacer nada y esperar a que Apple lo limpie por usted. Como Apple está a punto de eliminarlo inminentemente, no parece que valga la pena correr el riesgo de modificar su entorno Python.

NOTA : Veo que la pregunta se relaciona específicamente con OSX v 10.6.4 , pero parece que esta pregunta se ha convertido en un punto crucial para todas las personas con OSX interesadas en eliminar Python 2.7 de sus sistemas, independientemente de la versión que estén ejecutando.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.