Tengo una instalación separada de Python 3.*, pero la primera ruta de Python en mi $PATH
variable es la ruta a Python instalado en el sistema. ¿Es así como debería ser?
He agregado la ruta a Python instalado por el usuario usando https://www.architectryan.com/2012/10/02/add-to-the-path-on-mac-os-x-mountain-lion/#.Uydjga1dXDg , y se abrió al final de $PATH
.
¿Entiendo correctamente que, en la situación actual, cuando ejecuto pip
, brew
etc. en python3 desde bash, los cambios se aplicarán a Python instalado en el sistema?
La solución que tengo hasta ahora es ejecutar export PATH=/usr/local/bin:/usr/local/sbin:$PATH
cada vez que quiero instalar o actualizar python, pero no es lo ideal.
NB: opté por pyenv
la solución sugerida por @bermudalocket. Este tutorial de pyenv fue muy útil.
Puede lograr esto agregando
export PATH="/path/to/python:"$PATH
a tu ~/.zshrc
(o ~/.bash_profile
si no estás en Catalina).
Me gustaría proponer una alternativa y sugerir pyenv
, disponible a través de Homebrew. Puede configurar una versión específica de Python para que sea "global" (es decir, predeterminada en todas partes) y/o "local" (es decir, usar esa versión solo en un directorio específico).
P.ej:
brew install pyenv
pyenv global 2.7.16
cd ~/myProjects/MyProject
pyenv local 3.7.6
Si tuviera que usar Python, ~/myProjects/MyProject
se establecerá de forma predeterminada en 3.7.6
, y en cualquier otro lugar 2.7.16
:
cd ~/some/other/directory
python --version
>> Python 2.7.16
cd ~/myProjects/MyProject
python --version
>> Python 3.7.6
Instalé Python 3.8 para macOS usando el instalador de python.org, no homebrew, que también está instalado en mi Mac pero rara vez se usa. Creo que el instalador de python.org agregó automáticamente las primeras tres líneas a continuación a mi ~/.bash_profile.
Con esos, cualquier cambio que haga usando pip3
parece afectar solo a 3.8, mientras que los realizados a través de pip
parecen afectar solo a 2.7 (que creo que viene instalado con macOS). Debido a que no utilicé homebrew al instalar Python 3.8 (o 2.7), asumo que no es relevante para ninguna de las versiones de Python en mi caso. Espero que esto ayude.
# Setting PATH for Python 3.8
PATH="/Library/Frameworks/Python.framework/Versions/3.8/bin:${PATH}"
export PATH
# Setting PATH for Python 2.7
# I believe the two lines below were already in the file before the above were added
PATH="/Library/Frameworks/Python.framework/Versions/2.7/bin:${PATH}"
export PATH
Yulia V.
bermudas
pyenv versions
a ver una lista de versiones disponibles, una essystem
. Esto significa que puede ejecutar<pyenv global/local> system
. Luego, si está en un directorio que usa la versión del sistema, cualquier interacción que tenga con python será con el sistema python.anki
bermudas
anki