如何使用 Homebrew 在我的 Mac 上默认 Python3.8?

新手上路,请多包涵

我已将我的 python 3 更新到最新版本 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

但是当我在我的 mac 上检查 python3 版本时,它仍然显示 3.7:

 python3 --version

Python 3.7.6

如何使用 Homebrew 将 python3 默认为最新的 3.8 版本?

编辑:当我尝试使用 brew switch 时,它告诉我我只安装了 python 3.7.6,但最后 brew upgrade 我很确定 python3.8.1 与 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

原文由 Tack_Tau 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 856
2 个回答

这是解决方案:

如果现有的符号链接属于 python 3.7,您应该取消链接它们:

brew unlink python

基本上所有你需要做的:

brew link --force python@3.8

或强制链接并覆盖所有冲突的文件:

brew link --force --overwrite python@3.8

或者如果需要列出所有将被删除的文件:

brew link --overwrite --dry-run python@3.8

因此,您可以切换到 Homebrew 存储库中可用的任何 python 版本。

另请查看 答案以了解 pyenv 的使用情况

原文由 Igor Voltaic 发布,翻译遵循 CC BY-SA 4.0 许可协议

好的,感谢来自 Homebrew 社区讨论的@gromgit ( https://discourse.brew.sh/t/how-to-default-python-3-8-on-my-mac-using-homebrew/7050 )

这是解决方案:

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

这个时候我会坚持 python (v3.7.6),等待以后的版本无缝升级v3.8.1。

原文由 Tack_Tau 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题