如何在vscode中配置Python开发环境与调试器?【教程】

10次阅读

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

如何在vscode中配置Python开发环境与调试器?【教程】

VS Code 本身不内置 Python 运行时或调试器,必须手动配置解释器路径和 launch.json 才能真正调试——跳过这步直接点 ▶️ 只会报 ModuleNotFoundErrorNo Python interpreter selected

选对 Python 解释器是调试的前提

VS Code 不会自动识别你系统里装的 Python,哪怕 python --version 能跑通。必须通过命令面板(Ctrl+Shift+P / Cmd+Shift+P)执行 Python: Select Interpreter,从列表里挑一个真实存在的 python 可执行文件路径。

  • windows 上常见路径:C:UsersnameappDataLocalProgramsPythonPython311python.exevenvScriptspython.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)需额外安装 debugpypython -m pip install debugpy,扩展本身不自带运行时

最常被忽略的是:VS Code 的 Python 扩展会缓存解释器信息,切换虚拟环境后不重启窗口,旧路径可能还在生效;改完 launch.json 后没重开调试会话,也会沿用旧配置。

text=ZqhQzanResources