Ubuntu系统VSCode终端python指向2.7但已装3.10如何解决
版本不一致原因
VSCode 运行代码时调用的是你在插件面板手动选择的Python解释器路径,和集成终端默认读取的shell环境变量配置相互独立。Ubuntu 系统默认预置的python命令软链接指向Python2.7,因此你直接在终端执行python相关命令时会优先调用2.7版本,和VSCode代码运行环境不互通。
切换终端默认Python版本的方法
不建议直接手动修改/usr/bin/python的系统软链接,容易破坏依赖Python2的系统底层组件,优先选以下三种安全方案:
- 临时切换(仅当前终端会话生效)
直接在终端执行以下命令即可,关闭当前终端窗口后配置自动失效:
执行完成后运行alias python=python3.10python --version即可验证输出为3.10。 - 永久切换(仅对当前用户生效,推荐)
- 根据你使用的shell打开对应配置文件,Ubuntu默认使用bash,执行:
如果你自行安装了zsh,就替换为nano ~/.bashrcnano ~/.zshrc - 在文件最末尾添加一行配置:
alias python=python3.10 - 按
Ctrl+O保存,Ctrl+X退出nano编辑器,执行以下命令让配置立刻生效:
后续打开VSCode集成终端也会自动加载该配置。source ~/.bashrc
- 根据你使用的shell打开对应配置文件,Ubuntu默认使用bash,执行:
- 全局切换(对系统所有用户生效)
借助系统自带的update-alternatives工具管理多版本优先级,操作可逆:- 先将两个Python版本都加入管理列表,后面的数字代表优先级,数值越大优先级越高:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.10 2 sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 1 - 执行配置选择命令:
sudo update-alternatives --config python - 在弹出的交互选项中,输入Python3.10对应的序号按回车即可完成设置。
- 先将两个Python版本都加入管理列表,后面的数字代表优先级,数值越大优先级越高:
注意:如果切换全局默认Python版本后出现系统内置工具运行报错,可重新执行
sudo update-alternatives --config python选择Python2.7对应序号恢复默认,不会损坏系统环境。
内容的提问来源于stack exchange,提问作者Armand Marcelli
相关产品推荐
相关产品推荐

