CMD与VS Code终端中Python版本不一致问题求助
问题原因
- VS Code的Python扩展会优先读取项目目录下的pyenv版本配置文件
.python-version,如果这个文件里指定了3.8.10,扩展就会强制激活该版本,不受系统PATH优先级的影响。 - VS Code终端启动时会自动继承Python扩展激活的环境变量,所以终端里会显示并使用3.8版本;而系统CMD和Jupyter不受VS Code Python扩展的环境干预,会遵循系统PATH的优先级调用3.11。
解决方法
- 检查并修改项目的pyenv配置文件
打开VS Code里的当前项目根文件夹,查找是否存在隐藏的.python-version文件(看不到隐藏文件的话,可点击VS Code资源管理器右上角的“显示隐藏文件”按钮)。如果找到该文件,打开它并将内容改为你的Python 3.11具体版本号(比如3.11.4),保存后重启VS Code。 - 手动切换VS Code的Python解释器
- 按
Ctrl+Shift+P打开命令面板,输入Python: Select Interpreter并回车。 - 在弹出的版本列表里,找到你安装的Python 3.11对应的选项(路径为你放到PATH里的3.11文件夹下的
python.exe),选中它。 - 关闭当前VS Code终端,重新打开一个新终端,此时终端里的Python版本就会切换为3.11。
- 按
- 重置Python扩展环境
点击VS Code左侧的扩展图标,找到“Python”扩展,点击扩展右上角的三个点,选择“重新加载窗口”,之后再按上述方法手动选择3.11版本的解释器。
内容的提问来源于stack exchange,提问作者Jaime Yepes de Paz
相关产品推荐
相关产品推荐

