Zde je řešení:
Pokud existující symbolické odkazy patří do pythonu 3.7, měli byste je odpojit:
brew unlink python
V podstatě vše, co musíte udělat:
brew link --force [email protected]
NEBO vynutit odkaz a přepsat všechny konfliktní soubory:
brew link --force --overwrite [email protected]
NEBO v případě potřeby vypište všechny soubory, které budou smazány:
brew link --overwrite --dry-run [email protected]
Můžete tedy přejít na jakoukoli verzi pythonu dostupnou v repozitáři Homebrew.
Podívejte se také na tuto odpověď pro pyenv použití
Dobře, díky @gromgit z diskuze komunity Homebrew (https://discourse.brew.sh/t/how-to-default-python-3-8-on-my-mac-using-homebrew/7050)
Zde je řešení:
$ 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"
Budu se držet python
(v3.7.6) v tuto chvíli a počkejte na bezproblémový upgrade na v3.8.1 v budoucích vydáních.
Možná budete muset přidat python 3.8.1 do vaší PATH ve vašem ~/.bash_profile a dát ho jako první, aby přepsal předchozí instalace. Nejprve zjistěte, kde byl nainstalován python 3.8.1, a poté jej přidejte do cesty takto:
exportovat PATH="/PATH_TO_PYTHON/:${PATH}"
Mám firemní Mac s předinstalovaným Pythonem 2.7, abych mohl spouštět starší software.
$ 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
Stále píše Python 2.7, takže jsem provedl následující příkazy
pyenv init
eval "$(pyenv init -)"
$ python --version
Python 3.9.2
Další podrobnosti:Odkaz