如何通过Homebrew将Mac默认Python3设置为3.8版本?
解决Homebrew下Python3默认版本切换到3.8的问题
这问题我之前也碰到过!核心原因是Homebrew现在对Python的包命名规则做了调整,你装的python@3.8和原来的python是两个独立的包,所以brew switch找不到对应版本完全正常,我给你一步步解决:
第一步:确认Python 3.8是否真的安装成功
先执行这条命令,检查python@3.8是否在本地Cellar中:
brew list python@3.8
如果提示Error: No such keg: /usr/local/Cellar/python@3.8,说明之前的brew upgrade没成功装上,重新安装即可:
brew install python@3.8
第二步:把Python 3.8设为默认版本
这里有两种靠谱的方法,优先推荐第一种,不会乱改系统默认链接:
方法一:修改Shell路径(推荐)
Homebrew安装的python@3.8不会自动把自身路径加到系统PATH的最前端,所以系统会优先调用旧版本。我们手动调整路径优先级:
- 打开你的Shell配置文件:
- 用macOS默认Zsh的话,编辑
~/.zshrc; - 用Bash的话,编辑
~/.bash_profile或~/.bashrc。
- 用macOS默认Zsh的话,编辑
- 在文件末尾添加这一行:
这个路径下的export PATH="/usr/local/opt/python@3.8/libexec/bin:$PATH"python3和pip3都是直接指向3.8版本的,不用担心版本混淆。 - 让配置立即生效:
# Zsh用户执行 source ~/.zshrc # Bash用户执行 source ~/.bash_profile - 验证版本,现在应该显示3.8了:
python3 --version pip3 --version
方法二:用Homebrew链接(简单但有警告)
如果你习惯用brew管理软件链接,可以先断开旧版本的链接,再绑定3.8:
# 先断开原python包的系统链接 brew unlink python # 强制链接python@3.8 brew link --force python@3.8
注意:Homebrew可能会弹出警告,提示强制链接可能覆盖系统自带工具。这个方法虽然直接,但后续切换版本需要重新执行链接操作,灵活性不如方法一。
为啥brew switch没用?
因为brew switch只能切换同一个包下的不同版本,你安装的3.8.1属于python@3.8这个独立包,而python包对应的是你之前装的3.7.6,所以自然找不到3.8.1的版本啦~
内容的提问来源于stack exchange,提问作者Tack_Tau
相关产品推荐
相关产品推荐

