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.
-
which python
—>/Library/Frameworks/Python.framework/Versions/2.7/bin/python
Elimina todo el Python.framework directorio de/Library/Frameworks
. -
which python3
—>/usr/local/bin/python3
Elimina todo el directorio python3. -
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
(obrew cleanup --prune
en versiones más recientes versiones de Homebrew) funcionó perfectamente. Eliminó todos los enlaces simbólicos anteriores. -
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
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 enSystem/Library/Frameworks/Python.framework/Versions/...
/System/Library/Frameworks/Python.framework/
no se debe eliminar nunca, link docs. python.org/3/using/mac.html