必须装Python扩展、选对解释器、配好launch.json;最小配置只需module、args、console三字段;断点失效多因文件未执行、__name__判断失败、热重载干扰或路径含中文。

vscode怎样调试python程序【教程】

vscode怎样调试python程序【教程】

VS Code 调试 Python 前必须确认的三件事

VS Code 本身不自带 Python 调试能力,必须装对扩展、选对解释器、配好 launch.json,缺一不可。很多人卡在“点调试没反应”,其实根本没进调试流程。

装好

Python 扩展(Microsoft 官方)

,不是 Pylance 或其他辅助插件 —— 后者不提供调试器

Ctrl+Shift+P

(Win/Linux)或

Cmd+Shift+P

(Mac)打开命令面板,运行

Python: Select Interpreter

,选一个真实存在的 Python 解释器路径(比如

/usr/bin/python3

C:\Python39\python.exe

),不能是 conda 环境但没激活、或虚拟环境路径写错

项目根目录下要有

.vscode/launch.json

,且其中

configurations

至少有一项,

type

必须是

python

request

launch

attach

最简可用的 launch.json 配置怎么写

不用抄网上几十行的模板。一个能跑起来的最小配置,只关注三个字段:module、args、console。其余如 env、justMyCode 按需加。

调试脚本文件(如

main.py

):用

module

字段更稳,避免路径问题

复制

AI写代码

{ "version": "0.2.0", "configurations": [ { "name": "Python: Current File", "type": "python", "request": "launch", "module": "main", "console": "integratedTerminal" } ] }

如果脚本依赖命令行参数,在

args

里写数组:

"args": ["--verbose", "input.txt"]

console

推荐

integratedTerminal

;设成

externalTerminal

在 Windows 上常因权限或路径失败

断点不生效?先看这四个常见硬伤

VS Code 显示红点(断点已设),但运行后直接跳过,大概率不是 VS Code 问题,而是 Python 运行时根本没加载到那行。

调试多文件/包结构时 module 和 program 怎么选

区别不在“能不能用”,而在“Python 怎么导入和执行”。用错会导致 ModuleNotFoundError 或断点全失效。

立即学习“Python免费学习笔记(深入)”;

program

:指定一个 .py 文件路径,等价于命令行

python xxx.py

;适合扁平脚本,但跨目录 import 容易失败(因为

sys.path[0]

是文件所在目录,不是项目根)

module

:指定模块名(不含

.py

),如

"myproject.cli"

,等价于

python -m myproject.cli

;要求项目根在

PYTHONPATH

或已安装为可导入包;断点在包内任意文件都有效

推荐统一用

module

:在

launch.json

里写

"module": "myproject.main"

,并在项目根下确保有

myproject/__init__.py

;这样路径稳定,也符合生产部署习惯

调试器底层靠

debugpy

,它会在 Python 进程里注入一个 socket server。所以任何阻塞 stdin、接管信号(如

os.kill()

)、或提前 exit 的逻辑,都可能让调试会话静默退出——这不是配置问题,是程序行为和调试机制的天然冲突。

标签: none

添加新评论