必须手动配置Python解释器路径和launch.json才能调试;选错解释器会导致import报错、断点失效;需通过命令面板选择真实python路径,按运行方式配置launch.json参数,并确保保存文件、正确设置cwd及安装debugpy。

VS Code 本身不内置 Python 运行时或调试器,必须手动配置解释器路径和 launch.json 才能真正调试——跳过这步直接点 ▶️ 只会报 ModuleNotFoundError 或 No Python interpreter selected。
选对 Python 解释器是调试的前提
VS Code 不会自动识别你系统里装的 Python,哪怕 python --version 能跑通。必须通过命令面板(Ctrl+Shift+P / Cmd+Shift+P)执行 Python: Select Interpreter,从列表里挑一个真实存在的 python 可执行文件路径。
- Windows 上常见路径:
C:\Users\name\AppData\Local\Programs\Python\Python311\python.exe或venv\Scripts\python.exe -
macOS/Linux 常见路径:
/usr/bin/python3、~/miniconda3/bin/python或项目内venv/bin/python - 如果列表为空,说明 Python 扩展没检测到任何解释器——检查是否安装了官方
Python扩展(由 Microsoft 提供),且没被禁用 - 选错解释器会导致 pip 安装的包找不到,
import报错,调试时断点完全不生效
launch.json 必须按运行方式配参数
VS Code 调试靠的是 .vscode/launch.json 里的配置,不是靠当前打开的文件名或右键菜单。默认生成的配置往往不匹配你的实际启动方式。
- 调试脚本(如
main.py):用"module": "none"+"program": "${file}" - 以模块方式运行(如
python -m http.server):必须设"module": "http.server",删掉"program" - 运行带参数的脚本:
"args": ["--env", "dev", "--port", "8000"],别写进"program" - 想在终端里看到
print()输出?加"console": "integratedTerminal",否则输出只在 Debug Console 里,且不支持input()
断点不触发?先看这三个地方
断点灰色、提示 “unbound breakpoint” 或根本不停,90% 是环境错位导致的。
立即学习“Python免费学习笔记(深入)”;
- 确认左下角状态栏显示的 Python 解释器路径,和
launch.json中"python"字段(如有)或全局选中的解释器一致 - 检查文件是否保存了——VS Code 调试器读的是磁盘上已保存的代码,未保存的修改不会生效
- 如果项目用了相对导入(如
from ..utils import helper),不能直接调试子模块;得用"module"模式从包根目录启动,或把工作目录设为源码根:"cwd": "${workspaceFolder}/src" - 某些虚拟环境(尤其 conda)需额外安装
debugpy:python -m pip install debugpy,扩展本身不自带运行时
最常被忽略的是:VS Code 的 Python 扩展会缓存解释器信息,切换虚拟环境后不重启窗口,旧路径可能还在生效;改完 launch.json 后没重开调试会话,也会沿用旧配置。










