VSCode不运行Python,仅调用本地解释器;配置失败主因是路径未对齐——需通过Python: Select Interpreter选择明确路径,确保状态栏、sys.executable、settings.json中python.defaultInterpreterPath三者一致,并在对应终端用python -m pip install装包。

VSCode 本身不运行 Python,它只调用你本地已安装的解释器;配置失败的绝大多数情况,是解释器路径没对齐——不是插件没装、不是版本太新,而是 python 命令在终端里指向一个地方,在 VSCode 里却指向另一个地方。
Python: Select Interpreter 选了但不生效?检查状态栏和 sys.executable
点开命令面板执行 Python: Select Interpreter 后,右下角状态栏必须显示明确路径(如 ./venv/bin/python),而不是模糊的 “Python 3.12” 或 “Conda (base)”。如果只显示版本号,说明 VSCode 没真正绑定到可执行文件。
- 新建
check.py,写入import sys; print(sys.executable),运行它,输出路径必须和状态栏显示的一致 - 若不一致,说明你是在系统终端里装了包,但 VSCode 正在用另一个解释器——别靠
source venv/bin/activate激活,那仅影响当前终端会话 - macOS 用户特别注意:
/usr/bin/python3是系统自带,无 pip、不可装包,VSCode 里选它必报ModuleNotFoundError
settings.json 中 python.defaultInterpreterPath 必须用相对路径
仅靠 UI 点选解释器,只对当前工作区临时生效;关掉重开或换项目,又得重选。真正固化,得写进 .vscode/settings.json。
- 路径必须相对于工作区根目录,例如
"python.defaultInterpreterPath": "./venv/bin/python"(Linux/macOS)或"python.defaultInterpreterPath": ".\venv\Scripts\python.exe"(Windows) - 不能用
~/、$HOME或绝对路径(如/Users/name/project/venv/bin/python),否则换机器或共享项目时直接失效 - 如果项目用 conda,路径类似
"./miniconda3/envs/myproj/bin/python",但要确认该环境已创建且未被conda env remove删除
launch.json 不配 python 字段,断点就不起作用
即使解释器选对了,VSCode 调试器默认仍可能绕过你的选择,直接调用系统 python。结果就是:代码能跑,但断点灰掉、变量看不到、print 有输出,debugger 却像没启动。
立即学习“Python免费学习笔记(深入)”;
- 确保
.vscode/launch.json的每个 configuration 里都有"python": "${command:python.interpreterPath}",或干脆删掉该字段让 VSCode 自动继承当前解释器 - 别手动写死
"python": "/usr/bin/python3"——这会覆盖 UI 和 settings.json 的设置 - 调试前务必确认左下角状态栏解释器路径与
sys.executable一致;不一致时,F5 启动的进程根本不是你认为的那个环境
pip install 装了包,但 import 还是报错?先查 python -m pip list
很多人在系统终端里运行 pip install requests,然后在 VSCode 里 import requests 报错。这不是包没装,是装到了别的 Python 环境里。
- 在 VSCode 内置终端(Ctrl+`)中执行
which python(macOS/Linux)或where python(Windows),再执行python -m pip list | grep requests - 如果没找到,说明你之前是在另一个终端里装的——必须在 VSCode 当前解释器对应的终端里重装
- 统一用
python -m pip install,不用裸pip install,避免 pip 版本和解释器错配(尤其在多版本共存时)
最常被忽略的点:VSCode 的语言服务器、调试器、终端、linter、格式化工具,全部依赖同一个解释器路径;只要这个路径没对齐,后续所有功能都会“看似正常、实则错位”。



















