问题:
很多人在使用 VS Code 时都会碰到这样一个常见问题:打开编辑器后,右下角弹出红色提示“未找到 Python”,但转头在内置终端中执行 python --version 却又能够正常返回版本信息。这种情况看起来很矛盾,实际上并不是 Python 消失了,而是 VS Code 和终端识别 Python 的方式不同。

原因
其实原理并不难理解:VS Code 编辑器本身(更准确地说是 Python 插件)与内置终端,在“查找 Python”这件事上使用的是两套不同机制。
- 内置终端 (Terminal): 它本质上调用的是操作系统自带的命令行环境,比如 Windows 的 CMD 或 PowerShell,以及 macOS 的 zsh。终端里之所以能直接识别 Python,通常是因为系统环境变量 PATH 中已经正确配置了 Python 的安装路径,所以输入命令时能够顺利找到。
- VS Code 编辑器 / Python 插件: 这一层则更依赖明确配置。它需要一个清晰可用的“Python 解释器(Interpreter)”路径。如果当前没有选中解释器,或者默认指向的路径已经失效、被删除或环境变更,VS Code 就会直接提示“未找到 Python”。
尤其是使用 Conda 管理 Python 环境的用户更要注意:VS Code 的编辑器和 Python 插件是相对独立的,它不会自动读取你终端里当前激活的 Conda 环境。也就是说,即使终端中已经切换到某个 Conda 环境,VS Code 也不一定会同步识别,必须手动或正确选择对应的 Python 解释器路径,它才能正常工作。
解决方法
想让 VS Code 正确识别 Python,并与 Conda 环境正常关联,按照下面的方法操作通常就可以解决。
方法一:直接从列表中选择 Conda 环境
一般情况下,VS Code 安装了 Python 插件后,会自动扫描系统中已有的 Conda 环境。
- 按下快捷键
Ctrl + Shift + P(Mac 是Cmd + Shift + P)打开命令面板。 - 输入并点击
Python: Select Interpreter(Python: 选择解释器)。 - 在弹出的列表中,查找带有
conda标识的环境,例如:Python 3.x.x ('base': conda)Python 3.x.x ('你的环境名称': conda)
- 点击你要使用的那个环境。选择成功后,VS Code 右下角状态栏通常会显示当前环境名称。
方法二:如果列表中没有显示你的 Conda 环境
如果 VS Code 没有自动检测到对应的 Conda 环境,也可以通过手动输入 Python 解释器路径的方式解决。
- 在能够正常运行 Python 的终端中,输入下面命令并回车:
conda env list
- 终端会列出当前所有的 Conda 环境。找到带有星号
*的那一项(表示当前激活环境),然后复制其后面的完整路径。- Windows 示例:
C:UsersYourNameminiconda3envsmyenv - Mac/Linux 示例:
/Users/YourName/miniconda3/envs/myenv
- Windows 示例:
- 再次按下
Ctrl + Shift + P,选择Python: Select Interpreter。 - 点击列表顶部的
Enter interpreter path...(输入解释器路径…),然后选择Find...(查找…)或者直接粘贴路径。 - 这一步最关键: 在刚才复制的环境路径后面,补上 Python 可执行文件名:
- Windows 用户: 在路径末尾添加
python.exe(例如:C:...myenvpython.exe) - Mac/Linux 用户: 在路径末尾添加
/bin/python(例如:/Users/.../myenv/bin/python)
- Windows 用户: 在路径末尾添加
- 按回车确认即可。
完成配置之后,VS Code 中的代码高亮、智能补全、跳转、错误提示以及右上角“运行”按钮,都会统一使用 Conda 环境中的那个 Python 解释器,相关提示“未找到 Python”的问题通常也会随之消失。
总结
本质上,这个问题的核心原因是:终端和 VS Code 编辑器查找 Python 的方式并不相同。要解决“VS Code 提示未找到 Python,但终端能找到”的问题,关键就是为编辑器明确指定正确的 Python 解释器路径,尤其是在使用 Conda 环境时更是如此。无论是直接从解释器列表中选择,还是手动填写路径,只要配置正确,VS Code 就能恢复正常识别 Python。
