How to default Python3.8 on my Mac using Homebrew? How to default Python3.8 on my Mac using Homebrew? python-3.x python-3.x

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


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.

Also check out this answer for pyenv usage


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.8python@3.8: stable 3.8.1 (bottled) [keg-only]...==> CaveatsPython 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_profileFor 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.


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}"