Hier ist die Lösung:
Wenn vorhandene Symlinks zu Python 3.7 gehören, sollten Sie die Verknüpfung aufheben:
brew unlink python
Im Grunde alles, was Sie tun müssen:
brew link --force [email protected]
ODER erzwingen Sie die Verknüpfung und überschreiben Sie alle widersprüchlichen Dateien:
brew link --force --overwrite [email protected]
ODER bei Bedarf alle Dateien auflisten, die gelöscht würden:
brew link --overwrite --dry-run [email protected]
Somit können Sie zu jeder Python-Version wechseln, die im Homebrew-Repo verfügbar ist.
Sehen Sie sich auch diese Antwort für pyenv an Nutzung
Ok, danke an @gromgit von der Homebrew-Community-Diskussion (https://discourse.brew.sh/t/how-to-default-python-3-8-on-my-mac-using-homebrew/7050)
Hier ist die Lösung:
$ 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"
Ich bleibe bei python
(v3.7.6) und warten Sie auf ein nahtloses Upgrade von v3.8.1 in zukünftigen Versionen.
Möglicherweise müssen Sie Python 3.8.1 zu Ihrem PATH in Ihrem ~/.bash_profile hinzufügen und es an die erste Stelle setzen, damit es frühere Installationen überschreibt. Finden Sie zuerst heraus, wo Python 3.8.1 installiert wurde, und fügen Sie es dann wie folgt zu Ihrem Pfad hinzu:
export PATH="/PATH_TO_PYTHON/:${PATH}"
Ich habe einen Firmen-Mac, auf dem Python 2.7 vorinstalliert ist, um ältere Software auszuführen.
$ 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
Es steht immer noch Python 2.7, also habe ich die folgenden Befehle ausgeführt
pyenv init
eval "$(pyenv init -)"
$ python --version
Python 3.9.2
Weitere Details:Link