如何从 PyDev 中调试一个 运行 作为脚本(带有 -m 标志)的模块?

How does one debug a module that is run as a script (with -m flag) from within PyDev?

我有一个模块是我正在编写的库的一部分。该库有多个可执行文件。这些是来自命令行的 运行 作为脚本,语法为 python3 -m mypackage.mysubpackage.MyModule

我熟悉 eclipse、它的调试器和 PyDev,但我还没有找到如何设置 debug/run 配置以在 PyDev 中启动 MyModule。

我尝试在调试配置的参数部分中将 -m-m mypackage.mysubpackage.MyModule 作为 VM 参数添加到 python.exe,但这即使设置了适当的工作目录也不起作用在 PYTHONPATH 中包含 mypackage。

我知道如何在 eclipse 之外启动程序并使用调试服务器将其连接到 eclipse。我知道我也可以制作一个不属于库的小辅助脚本来启动程序,这样我就可以在 eclipse 中 运行 它,但我更喜欢能够直接在 eclipse 中启动模块的便利本身,我觉得 PyDev 应该能够做到这一点。

如果您只按 F9 PyDev 应该会启动您的模块。

不过请注意,它会直接启动文件。如果您需要使用 -m 标志启动它(以便您的相对导入在该文件中解析),您可以在首选项中配置它:

preferences > PyDev > Run > Launch modules with python -m ...

PyDev 将根据文件位置和在这种情况下配置的 PYTHONPATH 计算模块名称。

p.s.: 您可能需要查看 http://www.pydev.org/manual_101_run.html 以了解有关重新启动模块、单元测试等的更多详细信息