如何在 Windows 上为 Python 3.6 启动 pdb?

How can I start pdb for Python 3.6 on Windows?

根据对此 question 的公认答案,我正在尝试使用 pdb 进行调试。

我可以使用以下语法成功启动调试器:

python -m pdb program.py

但更喜欢答案中提供的其他选项(无效):

pdb program.py

Windows 是否支持第二种语法?如果是这样,我怎样才能让它工作?错误是标准的"not recognized as an internal or external command, operable program or batch file."

它不起作用,因为您没有 .py 与 Python 可执行文件的关联。

文件 pdb.py 在你的全局包目录中(这就是 python -m pdb 能够找到它的原因),不幸的是当你这样做时 pdb program.py Windows 正在做以下:

  1. 搜索您 运行 命令所在的目录以查找名为 pdb.{com|bat|exe} 的文件以及 PATHEXT 中标识的任何其他内容;如果不是,则它会检查文件关联(您可以通过键入 FTYPE 列出这些文件关联)以查找可执行文件到 运行 查找特定文件扩展名。

  2. 为属于 PATH

  3. 的每个目录重复#1

在您的系统上,您没有将 .py 扩展名与任何可执行文件相关联,因此 Python 不知道如何 运行 该文件。

为了让您的生活更轻松,只需使用 python3 -m pdb 语法;它不仅可以工作,而且跨平台更便携。