终端中Python版本未更新,如何同步Sublime Text与终端Python版本?
问题根源
终端里python3指向旧版本,核心原因是系统PATH环境变量中旧版本Python的路径优先级高于3.11.0的路径,终端会优先调用路径靠前的Python执行文件。
排查与解决步骤
第一步:定位Python 3.11.0的安装路径
在终端执行以下命令,获取新版本Python的具体路径:which python3.11输出一般是
/usr/local/bin/python3.11(Intel芯片Mac)或/opt/homebrew/bin/python3.11(M系列芯片Mac)。第二步:检查当前PATH的路径顺序
执行命令查看PATH的优先级排序:echo $PATH观察第一步得到的新版本路径是否出现在旧版本路径(比如系统自带的
/usr/bin)之前。如果旧路径排在前面,终端就会优先加载Python 3.8.8。第三步:调整PATH优先级,让新版本Python优先被调用
根据你使用的终端shell(Mac默认是zsh,老系统可能是bash),修改对应的配置文件:- zsh用户:编辑
~/.zshrc文件,添加一行代码(将路径替换为第一步得到的新版本所在目录):export PATH="/opt/homebrew/bin:$PATH" - bash用户:编辑
~/.bash_profile文件,添加同样内容。
保存文件后,在终端执行以下命令生效:
source ~/.zshrc # zsh用户执行这个 # 或 source ~/.bash_profile # bash用户执行这个再输入
python3 --version,就能看到版本切换为3.11.0了。- zsh用户:编辑
特殊场景:用pyenv管理Python版本
如果你之前安装过pyenv版本管理工具,直接设置全局默认版本即可:pyenv global 3.11.0确保pyenv的初始化代码已写入shell配置文件(比如
eval "$(pyenv init --path)"),如果没有,添加后重新加载配置即可。
验证版本统一
修改终端配置后,确认Sublime Text的构建系统指向同一Python路径:打开Tools > Build System > New Build System,查看配置文件的cmd字段是否和终端当前使用的Python路径一致,示例配置如下:
{ "cmd": ["/opt/homebrew/bin/python3", "-u", "$file"], "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", "selector": "source.python" }
内容的提问来源于stack exchange,提问作者Jonathan Gordon

