1 votos

Múltiples versiones del mismo Python instaladas

He instalado Python3 a través de brew :

brew install python@3.9

Y siguiendo la cadena de enlaces simbólicos de which python3 conduce a:

$ which python3
/usr/local/bin/python3

$ ls -l /usr/local/bin/python3
lrwxr-xr-x  1 user  admin  41 27 Jul 17:44 /usr/local/bin/python3 -> ../Cellar/python@3.9/3.9.13_1/bin/python3

$ ls -l /usr/local/Cellar/python\@3.9/3.9.13_1/bin/python3
lrwxr-xr-x  1 user  staff  55 23 Jul 08:45 /usr/local/Cellar/python@3.9/3.9.13_1/bin/python3 -> ../Frameworks/Python.framework/Versions/3.9/bin/python3

$ ls -l /usr/local/Cellar/python\@3.9/3.9.13_1/Frameworks/Python.framework/Versions/3.9/bin/python3
lrwxr-xr-x  1 user  staff  9 23 Jul 08:44 /usr/local/Cellar/python@3.9/3.9.13_1/Frameworks/Python.framework/Versions/3.9/bin/python3 -> python3.9

$ ls -l /usr/local/Cellar/python\@3.9/3.9.13_1/Frameworks/Python.framework/Versions/3.9/bin/python3.9
-rwxr-xr-x  1 user  staff  13620 23 Jul 08:42 /usr/local/Cellar/python@3.9/3.9.13_1/Frameworks/Python.framework/Versions/3.9/bin/python3.9

También instalé offlineimap con:

python3 -m pip install offlineimap

Y la línea del shebang se muestra:

#!/usr/local/opt/python@3.9/bin/python3.9

que apunta a un binario diferente:

$ ls -l /usr/local/opt/python@3.9/bin/python3.9
lrwxr-xr-x  1 user  staff  57 23 Jul 08:45 /usr/local/opt/python@3.9/bin/python3.9 -> ../Frameworks/Python.framework/Versions/3.9/bin/python3.9

$ ls -l /usr/local/opt/python@3.9/Frameworks/Python.framework/Versions/3.9/bin/python3.9
-rwxr-xr-x  1 user  staff  13620 23 Jul 08:42 /usr/local/opt/python@3.9/Frameworks/Python.framework/Versions/3.9/bin/python3.9

y los dos tienen las mismas versiones:

$ python3 --version
Python 3.9.13
$ /usr/local/opt/python@3.9/bin/python3.9 --version
Python 3.9.13

¿Cómo he podido instalar dos instancias del mismo Python? ¿Cómo puedo desinstalar la versión que no es de cerveza?

2voto

John Palmieri Puntos 111

Para mí, y quizás en general, /usr/local/opt/python@3.9 es un enlace simbólico que apunta a ../Cellar/python@3.9/3.9.13_1 y ambos corresponden al Python 3 de Homebrew: no hay duplicado del ejecutable. Por el contrario, /usr/bin/python3 es proporcionada por Apple. En mi máquina, es la versión 3.8.9 de Python, en contraste con la versión 3.9.13 de Homebrew.

1voto

Oskar Puntos 1242

Homebrew instala los binarios de Apple Silicon en /opt/homebrew y los de Intel en /usr/local además de hacer un enlace simbólico para el programa real que está fuera de su ruta a una ubicación en la ruta esperada. Usted debe tener dos copias de Python y tal vez tres si usted tiene que la historia de Apple Silicon.

Una cosa buena en homebrew, es que normalmente puedes comprobar las fórmulas instaladas y hacer una eliminación limpia Entonces, sólo tienes que reinstalar las versiones que necesites.

¿Hay algún problema en dejar que la ruta gestione cuál de los programas se llama?

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X