Ecco la soluzione:
Se i collegamenti simbolici esistenti appartengono a Python 3.7, dovresti scollegarli:
brew unlink python
Fondamentalmente tutto ciò che devi fare:
brew link --force [email protected]
O forzare il collegamento e sovrascrivere tutti i file in conflitto:
brew link --force --overwrite [email protected]
OPPURE, se necessario, elenca tutti i file che verrebbero eliminati:
brew link --overwrite --dry-run [email protected]
Così puoi passare a qualsiasi versione di Python disponibile nel repository Homebrew.
Dai un'occhiata anche a questa risposta per pyenv utilizzo
Ok, grazie a @gromgit dalla discussione della community di Homebrew (https://discourse.brew.sh/t/how-to-default-python-3-8-on-my-mac-using-homebrew/7050)
Ecco la soluzione:
$ 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"
Mi atterrò a python
(v3.7.6) in questo momento e attendere l'aggiornamento continuo di v3.8.1 nelle versioni future.
Potrebbe essere necessario aggiungere python 3.8.1 al tuo PERCORSO nel tuo ~/.bash_profile e metterlo prima in modo che sovrascriva le installazioni precedenti. Per prima cosa scopri dove è stato installato Python 3.8.1, quindi aggiungilo al tuo percorso in questo modo:
export PATH="/PATH_TO_PYTHON/:${PATH}"
Ho un Mac aziendale con Python 2.7 preinstallato per eseguire il software precedente.
$ 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
Dice ancora Python 2.7, quindi ho eseguito i seguenti comandi
pyenv init
eval "$(pyenv init -)"
$ python --version
Python 3.9.2
Maggiori dettagli:Link