必须安装微软官方python扩展(ms-python.python)并正确配置解释器和debugpy,否则f5无法调试;需通过ctrl+shift+p选择对应环境解释器,首次f5生成launch.json后应检查module、console和justmycode配置。

VS Code 按 F5 运行 Python 之前必须装对扩展
VS Code 默认不支持 Python 调试,F5 按下去直接报错或没反应,根本原因是你没装 Python 扩展(微软官方那个,作者是 ms-python.python)。不是 Pylance,也不是 Python Docstring Generator —— 后两者是辅助工具,不能替代调试能力。
- 必须安装
Python扩展(带调试器、解释器选择、launch.json 生成能力) - 卸载掉名字类似但功能残缺的“轻量 Python 插件”,它们常会干扰
debugpy启动 - 安装后重启 VS Code,否则
F5仍可能灰掉
按 F5 前得让 VS Code 知道用哪个 Python 解释器
F5 启动调试时,VS Code 默认找系统 PATH 里的 python,但你很可能装了 conda 环境、venv 或 pyenv 版本 —— 如果解释器选错,会报 ModuleNotFoundError 或直接卡在 “Starting the Python Debugger…”。
- 按
Ctrl+Shift+P(Win/Linux)或Cmd+Shift+P(Mac),输入Python: Select Interpreter - 从列表里选准你的项目环境,比如
./venv/bin/python或~/miniconda3/envs/myenv/bin/python - 选完后右下角状态栏会显示路径,确认它和你终端里
which python输出一致
第一次 F5 会自动生成 launch.json,但默认配置容易踩坑
VS Code 在首次按 F5 时会引导你创建 .vscode/launch.json。默认选 “Python File” 看似省事,但实际藏着三个常见问题:
-
"module": "runpy"模式下无法调试if <strong>name</strong> == "<strong>main</strong>"外的顶层代码(比如 import 时就执行的逻辑) -
"console": "integratedTerminal"是安全选项,但如果你用了input(),得改成"console": "externalTerminal"(Windows)或"console": "integratedTerminal"(macOS/Linux)才不会闪退 -
"justMyCode": true是好习惯,但调试第三方库内部时要临时设为false
示例最小可用配置:
立即学习“Python免费学习笔记(深入)”;
{
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"module": "runpy",
"args": ["-m", "${fileBasenameNoExtension}"],
"console": "integratedTerminal",
"justMyCode": true
}
]
}F5 没反应 / 报错 “Could not find debugpy” 怎么办
这是最常卡住人的点:VS Code 找不到 debugpy 包。它不是 VS Code 自带的,而是依赖你当前 Python 环境里有没有装。
- 先在终端激活你的项目环境(
source venv/bin/activate或conda activate myenv) - 运行
pip install debugpy(注意不是pip install python-debug或其他名字) - 如果用的是 conda,也可以
conda install -c conda-forge debugpy - 装完别忘了在 VS Code 里重新触发
F5,不要只刷新窗口
调试器启动失败时,看 VS Code 底部状态栏左下角是否显示 “Debugging” —— 没显示,基本就是 debugpy 没装对环境,或者解释器路径根本没生效。
Python 调试不是“装完扩展就自动好”,解释器、debugpy、launch.json 三者必须严格对齐同一环境,漏一个,F5 就只是个按键而已。











