Eliminar y reinstalar Python en Mac: ¿puedo confiar en estas referencias antiguas?

Soy nuevo en Mac y aparentemente cometí 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 todas mezcladas. Pip3 apunta a python2, por lo que todas mis pruebas de python3 fallan, etc.

Estoy investigando cómo eliminar todas las versiones de forma segura y luego intentar una instalación limpia (¿homebrew?), Pero estoy un poco nervioso.

He encontrado algunos enlaces excelentes:

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

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

Respuestas (3)

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

  1. which python---> /Library/Frameworks/Python.framework/Versions/2.7/bin/pythonElimine todo el directorio Python.framework de /Library/Frameworks.
  2. which python3---> /usr/local/bin/python3Eliminar todo el directorio 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 eso 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
    

    Entonces, brew prune(o brew cleanup --pruneen versiones más nuevas de Homebrew) funcionó perfectamente. Eliminó todos los enlaces simbólicos anteriores.

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

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

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

¡Sí, puede confiar en las referencias antiguas, tal como están escritas! Esa guía sigue siendo válida.

@nohillside thx pero... fácilmente podría haber reconocido la entrada reciente de XXXX aquí que provocó su edición como un comentario aquí. Parece una extraña pérdida de atribución para usted. ¿Los novatos no pueden publicar comentarios? Y ahora no puedo ver el nombre de envío para hacerlo yo mismo.
La mejor manera de obtener la atribución es editar una publicación en caso de que sea necesario editarla, algo que todos los usuarios (incluso los anónimos) pueden hacer. Si los usuarios eligen publicar comentarios de mejora como respuestas, generalmente los edito en la publicación relacionada.
Las versiones caseras de python no incluirán soporte para Xcode o herramientas como chisel la última vez que lo verifiqué. Por lo tanto, esto generalmente no se recomienda.
Solo para mencionar /System/Library/Frameworks/Python.framework/que no debe eliminarse nunca, enlace docs.python.org/3/using/mac.html
la nueva versión tiene limpieza de preparación
Python 3 no es compatible con versiones anteriores. Romperá todo el software basado en Python 2 al eliminarlo. ¿Por qué no mantener ambas versiones y redirigir su shell para usar la última versión?

Mi versión de Python era 3.6, quería actualizar a 3.7 (en caso de que tenga requisitos similares). Estoy usando macOS versión 10.12.6 y simplemente desinstalar y volver a instalar funcionó para mí:

brew uninstall --ignore-dependencies python3

Después:

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.
Esto funcionó bien para mí. Necesitaba ajustar la ipythonruta editando manualmente el script de inicio, para apuntar a la versión de preparación de python

Los archivos del sistema están protegidos por la Protección de integridad del sistema. No podrá seguir estas instrucciones a rm -rfcarpetas aleatorias en /Sistema sin deshabilitar SIP primero.

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

Homebrew se instala por separado en /usr/local/Cellar. Use Homebrew para administrar su instalación de Python e ignore la instalación del sistema por completo.

¿Fue SÍ, está bien confiar en esas dos referencias, o NO, no confíes en ellas? Esas referencias parecen de alta calidad, bien razonadas y explicadas con bastante detalle.
@zipzit Puedes confiar en ellos, pero no funcionarán, son dos cosas separadas. El contenido es confiable; pruébelo en una versión reciente de macOS y no hará ningún daño, pero tampoco funcionará, por las razones dadas en esta respuesta. Recomiendo encarecidamente no deshabilitar SIP solo para eliminar la instalación de Python del sistema (razón por la cual no he vinculado las instrucciones) porque esa 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.
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 1) la carpeta Python 3.3 en su carpeta Aplicaciones. 2) /Library/Frameworks/Python.framework 3) ~ 20 enlaces simbólicos en /usr/local/bin. 4) referencias en la ruta de shell (si existe). No creo que ninguno de ellos golpee las protecciones de las que hablas. ¿Qué me estoy perdiendo?
@zipzit Hace bastante tiempo, Python se movió 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 en /Library.
$which python /Library/Frameworks/Python.framework/Versions/2.7/bin/python $ which python3 /usr/local/bin/python3más python 2.3, 2.4, 2.5, 2.7 y actual ubicado enSystem/Library/Frameworks/Python.framework/Versions/...
@zipzit Algo más lo instaló en /Library entonces, no tengo Python framework en absoluto en /Library