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

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

Yo «m investigando cómo eliminar todas las versiones de forma segura 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 el directorio raíz /system, y básicamente todo lo demás se borra . Lo que me pone nervioso, es que estos enlaces son bastante viejos. (¡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 vinculadas arriba? ¿Cómo puedo limpiar este desorden de la versión de Python? Nota: Estoy usando MacOS Sierra (10.12.5)

Respuesta

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

  1. which python —> /Library/Frameworks/Python.framework/Versions/2.7/bin/python Elimina todo el Python.framework directorio de /Library/Frameworks.
  2. which python3 —> /usr/local/bin/python3 Elimina 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 no era necesario. En su lugar, solo usa :

    $ 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 --prune en versiones más recientes versiones 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 carpeta /System.

Ah, y para que quede 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.

Comentarios

  • @nohillside thx pero … podría haber reconoció fácilmente la entrada reciente de XXXX aquí que solicitó su edición como comentario aquí. Parece una extraña pérdida de atribución para ti. ¿Newby ‘ no tiene permiso para publicar comentarios? Y ahora puedo ‘ t ver el nombre de envío para hacerlo yo mismo.
  • La mejor manera de obtener 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, normalmente los edito en la publicación relacionada.
  • Las versiones Homebrew de Python no incluirán soporte para Xcode o herramientas como cincel la última vez que verifiqué. Por lo tanto, esto generalmente no se recomienda.
  • Solo para mencionar /System/Library/Frameworks/Python.framework/ no se debe eliminar nunca, link docs. python.org/3/using/mac.html
  • la nueva versión tiene limpieza de preparación

Respuesta

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 reinstalar funcionó para mí:

brew uninstall --ignore-dependencies python3 

Entonces:

brew install python3 

y listo:

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. 

Comentarios

  • Esto funcionó bien para mí. Necesitaba ajustar la ruta ipython editando manualmente la secuencia de comandos de inicio, para que apunte a la versión brew de python

Respuesta

Los archivos del sistema están protegidos por System Integrity Protection. No podrá seguir estas instrucciones para rm -rf carpetas aleatorias en / System sin deshabilitar SIP primero.

Sin embargo, debido a que los archivos están protegidos, ya sabe los archivos no se han modificado. Su desorden de versión se debería 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 para existir 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.

Comentarios

  • Fue SÍ, está bien confiar en esas dos referencias, o NO , ¿’ no confía en ellos? Esas referencias parecen de alta calidad, bien razonadas y explicadas con bastante detalle.
  • @zipzit puedes confiar en ellas, pero ganaron ‘ t funciona – eso ‘ son dos cosas separadas.El contenido es confiable; Pruébelo en una versión reciente de macOS y no ‘ no hará ningún daño, pero tampoco ‘ funcionará, por las razones dado en esta respuesta. Recomiendo encarecidamente no deshabilitar SIP solo para eliminar la instalación de Python de su sistema (razón por la cual no he ‘ t vinculado a las instrucciones) porque eso ‘ no es la causa real de su problema y no ‘ no ayudó a resolver nada, lo que podría causar más problemas en el proceso.
  • Su respuesta no ‘ no tiene sentido para mí. Ninguna de las respuestas de calidad vinculadas anteriormente toca nada en /system. Ninguno = Ni uno, Zero, 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 del shell (si existe). No ‘ pensaría que ninguno de ellos afectará las protecciones de las que estás hablando. ¿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/python3 más python 2.3, 2.4, 2.5, 2.7 y la corriente ubicada en System/Library/Frameworks/Python.framework/Versions/...

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *