为何python3命令默认运行Python3.9而非Python3.10?
Mac上python3默认指向Python3.9而非3.10的原因
这是Mac系统默认配置与PATH环境变量优先级共同作用的结果:
- 系统预装Python的优先级:
/usr/bin/python3是Mac自带的Python3.9,属于系统核心组件的一部分。苹果会默认保证系统自带工具能正常调用这个版本,因此它的链接优先级更高。 - PATH环境变量的搜索顺序:终端执行命令时,会按
PATH环境变量里的路径顺序依次查找可执行文件。如果你的PATH中/usr/bin排在/usr/local/bin前面,输入python3时,系统会优先找到/usr/bin下的Python3.9,而非/usr/local/bin里的Python3.10。 - 未自动创建软链接:你手动安装的Python3.10在
/usr/local/bin下,但默认不会自动替换系统的python3软链接。系统自带的python3指向/usr/bin/python3.9,而你安装的3.10只有python3.10这个可执行文件,没有创建python3的软链接指向它。
如果想让python3默认指向3.10,可通过两种方式调整:
- 手动创建软链接(需管理员权限):
sudo ln -sf /usr/local/bin/python3.10 /usr/local/bin/python3
- 调整PATH环境变量顺序,在
~/.zshrc或~/.bash_profile中添加:
export PATH="/usr/local/bin:$PATH"
执行source ~/.zshrc(对应你的终端配置文件)使更改生效。
内容的提问来源于stack exchange,提问作者mjq
相关产品推荐
相关产品推荐

