Esta es la solución:
Si los enlaces simbólicos existentes pertenecen a Python 3.7, debe desvincularlos:
brew unlink python
Básicamente todo lo que necesitas hacer:
brew link --force [email protected]
O fuerce el enlace y sobrescriba todos los archivos en conflicto:
brew link --force --overwrite [email protected]
O, si es necesario, enumere todos los archivos que se eliminarían:
brew link --overwrite --dry-run [email protected]
Por lo tanto, puede cambiar a cualquier versión de Python disponible en el repositorio de Homebrew.
Consulte también esta respuesta para pyenv uso
Ok, gracias a @gromgit de la discusión de la comunidad Homebrew (https://discourse.brew.sh/t/how-to-default-python-3-8-on-my-mac-using-homebrew/7050)
Aquí está la solución:
$ brew info [email protected]
[email protected]: stable 3.8.1 (bottled) [keg-only]
...
==> Caveats
Python has been installed as
/usr/local/opt/[email protected]/bin/python3
...
[email protected] is keg-only, which means it was not symlinked into /usr/local,
because this is an alternate version of another formula.
If you need to have [email protected] first in your PATH run:
echo 'export PATH="/usr/local/opt/[email protected]/bin:$PATH"' >> ~/.bash_profile
For compilers to find [email protected] you may need to set:
export LDFLAGS="-L/usr/local/opt/[email protected]/lib"
For pkg-config to find [email protected] you may need to set:
export PKG_CONFIG_PATH="/usr/local/opt/[email protected]/lib/pkgconfig"
Me ceñiré a python
(v3.7.6) en este momento y espere la actualización perfecta de v3.8.1 en las versiones futuras.
Es posible que deba agregar python 3.8.1 a su PATH en su ~/.bash_profile y ponerlo primero para que anule las instalaciones anteriores. Primero averigüe dónde se instaló Python 3.8.1, luego agréguelo a su ruta de esta manera:
exportar RUTA="/RUTA_A_PYTHON/:${RUTA}"
Tengo una Mac de empresa con Python 2.7 preinstalado para ejecutar software antiguo.
$ brew install pyenv (successful)
$ pyenv install 3.9.2 (successful)
$ python --version
Python 2.7
$ pyenv global 3.9.2
$ python --version
Python 2.7
Todavía dice Python 2.7, así que hice los siguientes comandos
pyenv init
eval "$(pyenv init -)"
$ python --version
Python 3.9.2
Más detalles:Enlace