pydev - 如何从 PyDev 中调试作为脚本(带有 -m 标志)运行的模块?
问题描述
我有一个模块,它是我正在编写的库的一部分。该库有多个可执行文件。这些是从命令行作为具有语法的脚本运行的python3 -m mypackage.mysubpackage.MyModule
我熟悉 eclipse、它的调试器和 PyDev,但我还没有找到如何设置调试/运行配置以在 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 计算模块名称。
ps:您可能需要查看http://www.pydev.org/manual_101_run.html以了解有关重新启动模块、单元测试等的更多详细信息。
推荐阅读
- r - 使用 grepl R 子集列表
- angular - Observable 而不是函数 angular 8 9
- groovy - 如何在 groovy 脚本中返回类成员字符串
- html - 如何通过单击检查 Angular 中的材质复选框?
- mapbox - 如何在 MAPBOX 中调整窗口大小时同时适应边界并设置最大边界?
- javascript - 赛普拉斯安全错误。只能在同源文档上调用 open()
- func - 预期返回“房间”的函数中缺少返回
- excel - SumIf 基于列中的当前月份
- android - 适用于 IOS 和 Android 的跨平台移动 SDK,具有原生反应
- amazon-web-services - 尽管我的替换任务正常,但 CodeDeploy 没有替换我的活动任务