【发布时间】:2013-08-12 13:07:34
【问题描述】:
在开发 Python 包时,使用-m 选项将包内的模块作为脚本运行以进行快速测试非常方便。例如,对于 somepackage 内部有模块 somemodule.py,调用
python -m somepackage.somemodule
从somepackage 所在的目录运行somemodule.py,就好像子模块是__main__。如果包使用如here 所述的显式相对导入,则使用此调用语法尤其重要。
同样,使用-m选项调试脚本也很方便,如
python -m pdb somescript.py
有没有办法同时做这两个?也就是说,我可以像调用脚本一样调用模块并同时启动到调试器中吗?我意识到我可以进入代码本身并在我想要中断的地方插入import pdb; pdb.set_trace(),但我试图避免这种情况。
【问题讨论】: