Quitar y reinstalar Python en Mac. ¿Puedo confiar en estas referencias antiguas?


22

Soy nuevo en el mac, y al parecer he cometido algún tipo de error. He estado aprendiendo python, a través de tutoriales, y entre Homebrew, Pip y XCode de alguna manera mis versiones están mezcladas. Pip3 apunta a python2, por lo que todas mis pruebas de python3 fallan, etc ...

Estoy investigando cómo eliminar con seguridad todas las versiones y luego disparar para una instalación limpia (homebrew?) Pero estoy un poco nervioso.

He encontrado algunos enlaces excelentes:

Claramente uno no toca nada en la raíz. /system Directorio, y básicamente todo lo demás se borra. Lo que me pone nervioso, es que estos enlaces son bastante antiguos. (¡seis años! +) No estoy seguro de si realmente confío en ellos o no.

¿Alguien ha estado aquí últimamente? ¿Puedo confiar en las publicaciones enlazadas arriba? ¿Cómo limpio este desorden de la versión de Python? Nota: estoy usando MacOS Sierra (10.12.5)

Respuestas:


25

Entonces, terminé eliminando todas las instalaciones de Python y reinstalando cosas a través de Homebrew.

  1. $ which python --- & gt; /Library/Frameworks/Python.framework/Versions/2.7/bin/python Eliminar todo el directorio de Python.framework de /Library/Frameworks.
  2. $ which python3 --- & gt; /usr/local/bin/python3 Eliminar todo el directorio de python3.
  3. Estaba un poco nervioso por los enlaces simbólicos. Inicialmente cambié el nombre de los que obviamente me iban a causar problemas. Resulta que era innecesario. En su lugar, simplemente use:

    $ brew doctor

    Warning: Broken symlinks were found. Remove them with 'brew prune':

      /usr/local/bin/python-32
      /usr/local/bin/python2-32
      /usr/local/bin/python2.7-32
      /usr/local/bin/python2_DNU
      /usr/local/bin/python_DNU
      /usr/local/bin/pythonw-32
      /usr/local/bin/pythonw2-32
      /usr/local/bin/pythonw2.7-32
    

    Asi que, $ brew prune funcionó perfectamente Se eliminaron todos los enlaces simbólicos anteriores.

  4. Reinstalar python y python3 a través de homebrew. Todo listo.

En ningún momento toqué la instalación de python ubicada dentro del /System carpeta.

Ah, y para ser claros. La respuesta a la pregunta original es

Sí, puedes confiar en las antiguas referencias, tal como están escritas! Esa orientación sigue siendo válida.


Esto tomó mucho tiempo para averiguarlo, ¡pero su respuesta funcionó perfectamente! Tuve que cerrar y volver a abrir mi terminal después de seguir estos pasos, pero luego funcionó.
cheese1756

Alguna información útil sobre qué instala Python3, que se debe eliminar al desinstalar. docs.python.org/3/using/…
PeteH32

También encontré algunas cosas en /Users/<username>/Library/Python
PeteH32

1

Los archivos del sistema están protegidos por la protección de integridad del sistema. No podrás seguir estas instrucciones para rm -rf Carpetas aleatorias en / Sistema sin deshabilitar SIP primero.

Sin embargo, debido a que los archivos están protegidos, sabes que los archivos no se han modificado. Su ‘versión desordenada 'se debería a su configuración de shell y no se cambiaría modificando los archivos del sistema de todos modos. No debe tocar estos archivos que están garantizados para existir en macOS.

Homebrew se instala por separado en / usr / local / Cellar. Utilice Homebrew para administrar su instalación de Python e ignorar completamente la instalación del sistema.


¿Eso fue SÍ, está bien confiar en esas dos referencias o NO, no confiar en ellas? Esas referencias parecen de alta calidad, bien razonadas y explicadas con bastante buen detalle.
zipzit

1
@zipzit tu puede confía en ellos, pero no funcionarán, son dos cosas distintas. El contenido es de confianza; Pruébelo en una versión reciente de MacOS y no hará ningún daño, pero tampoco funcionará, por las razones que se dan en esta respuesta. Recomiendo no deshabilitar SIP solo para eliminar la instalación de Python en su sistema (por lo que no he vinculado las instrucciones) porque no es la causa real de su problema y no ayudará a resolver nada, lo que podría causar más problemas en el proceso.
grg

Tu respuesta no tiene sentido para mí. Ninguna de las respuestas de calidad vinculadas anteriormente toca nada en /system. Ninguno = No Uno, Cero, Zip, Nada. Hay cosas que eliminar en la carpeta 1) de Python 3.3 en su carpeta de Aplicaciones. 2) /Library/Frameworks/Python.framework 3) ~ 20 enlaces simbólicos en / usr / local / bin. 4) referencias en ruta de shell (si existe). No creo que ninguno de esos golpee las protecciones de las que estás hablando. ¿Qué me estoy perdiendo?
zipzit

@zipzit Hace bastante tiempo, Python se trasladó de / Library a / System / Library, por lo que tocará / System en un intento de eliminar la instalación del sistema. El marco del sistema Python está en /System/Library/Frameworks/Python.framework, no / Library.
grg

$which python /Library/Frameworks/Python.framework/Versions/2.7/bin/python $ which python3 /usr/local/bin/python3 más python 2.3, 2.4, 2.5, 2.7 y corriente ubicados en System/Library/Frameworks/Python.framework/Versions/...
zipzit

0

Mi versión de python era 3.6, quería actualizar a 3.7 (en caso de que tenga requisitos similares). Estoy usando la versión 10.12.6 de Mac y simplemente desinstalé y reinstalé me ​​funcionó:

brew uninstall --ignore dependencies python3

Entonces:

brew install python3

y hecho:

python3
Python 3.7.2 (default, Jan 13 2019, 12:51:54) 
[Clang 9.0.0 (clang-900.0.39.2)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
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.