MacOS下如何处理系统Python与brew link Python的冲突问题?
解决brew Python优先级及多版本链接问题
1. 让brew安装的Python优先于系统Python
- 先确认brew安装的Python 3.8路径:
- Intel芯片Mac:
/usr/local/opt/python@3.8/libexec/bin - Apple芯片Mac:
/opt/homebrew/opt/python@3.8/libexec/bin
- Intel芯片Mac:
- 将该路径添加到
PATH环境变量最前端,确保系统优先查找brew版本:- Bash用户:编辑
~/.bash_profile或~/.bashrc,添加:
Apple芯片替换为对应路径export PATH="/usr/local/opt/python@3.8/libexec/bin:$PATH" - Zsh用户:编辑
~/.zshrc,添加同样内容
- Bash用户:编辑
- 执行
source ~/.bash_profile(或对应配置文件)使修改生效,运行which python3验证路径是否为brew安装的版本
2. 同时链接python与python3到brew的Python版本
由于推测Python 3.8的brew安装包存在bug,自动链接失效,可手动创建软链接:
- 确认brew Python 3.8的可执行文件路径:
Apple芯片替换路径ls /usr/local/opt/python@3.8/bin/ - 在brew的bin目录创建软链接:
ln -s /usr/local/opt/python@3.8/bin/python3.8 /usr/local/bin/python ln -s /usr/local/opt/python@3.8/bin/python3.8 /usr/local/bin/python3 - 确保
/usr/local/bin在PATH中的位置优先于系统默认路径(参考第一个问题的PATH设置),之后运行which python和which python3验证链接有效性
临时方案说明
目前暂无完美修复方案,上述方法为临时 workaround。若后续brew更新修复了Python 3.8的安装bug,可尝试执行brew link --force python@3.8重新自动链接(注意:强制链接可能覆盖其他Python版本,操作前确认需求)
内容的提问来源于stack exchange,提问作者Kirby
相关产品推荐
相关产品推荐

