How to default Python3.8 on my Mac using Homebrew?

被刻印的时光 ゝ 提交于 2020-12-01 03:48:31

问题


I have updated my python 3 to the latest version 3.8:

brew search python
==> Formulae
app-engine-python   gst-python          python ✔            python@3.8 ✔
boost-python        ipython             python-markdown     wxpython
boost-python3       micropython         python-yq

==> Casks
awips-python               kk7ds-python-runtime       mysql-connector-python

But when I check the python3 version on my mac it still shows 3.7:

python3 --version

Python 3.7.6

how can I default python3 to the latest 3.8 version using Homebrew ?

Edit: When I tried to use brew switch, it tells me I only installed python 3.7.6, but with last brew upgrade I'm pretty sure that python3.8.1 is installed with Homebrew

brew switch python 3.8.1
python does not have a version "3.8.1" in the Cellar.
python's installed versions: 3.7.6_1

回答1:


Here is the solution:

If existing symlinks belong to python 3.7 you should unlink them:
brew unlink python

Basically all you need to do:
brew link --force python@3.8

OR force the link and overwrite all conflicting files:
brew link --force --overwrite python@3.8

OR if needed list all files that would be deleted:
brew link --overwrite --dry-run python@3.8

Thus you can switch to any python version available in the Homebrew repo.




回答2:


Ok, thanks to @gromgit from Homebrew community discussion (https://discourse.brew.sh/t/how-to-default-python-3-8-on-my-mac-using-homebrew/7050)

Here is the solution:

$ brew info python@3.8
python@3.8: stable 3.8.1 (bottled) [keg-only]
...
==> Caveats
Python has been installed as
  /usr/local/opt/python@3.8/bin/python3
...
python@3.8 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 python@3.8 first in your PATH run:
  echo 'export PATH="/usr/local/opt/python@3.8/bin:$PATH"' >> ~/.bash_profile

For compilers to find python@3.8 you may need to set:
  export LDFLAGS="-L/usr/local/opt/python@3.8/lib"

For pkg-config to find python@3.8 you may need to set:
  export PKG_CONFIG_PATH="/usr/local/opt/python@3.8/lib/pkgconfig"

I will stick to python (v3.7.6) at this time and wait for seamless upgrade of v3.8.1 in the future releases.




回答3:


You might have to add python 3.8.1 to your PATH in your ~/.bash_profile and put it first so that it overrides previous installations. First find out where python 3.8.1 was installed, then add it to your path like this:

export PATH="/PATH_TO_PYTHON/:${PATH}"



来源:https://stackoverflow.com/questions/60453261/how-to-default-python3-8-on-my-mac-using-homebrew

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!