如何在直接运行包时使用python pdb?

时间:2015-01-30 17:00:19

标签: debugging python-3.x package pdb

我有一个嵌套的python包结构,我可以安装并运行它的不同部分。例如,要启动Tornado / Flask Web服务器,请执行以下命令:

python3 -m mytool.web -c myconfig.yaml

网络包中包含__init__.py__main__.py。我在其他几个组件中使用这个结构,所以一旦安装了包,它就很容易运行,我在容器中运行。

我的问题是当我尝试使用pdb进行调试时。由于pdb以类似的方式启动我启动我的包组件,即python3 -m pdb /path/to/debuging/file.py,我不知道如何使用pdb工具来调试直接作为包运行的其他东西。
python3 -m pdb mytool.web -c myconfig.yaml不起作用。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

ipython --pdb -m mytool.web -- -c myconfig.yaml

此表单也适用于没有-m的常规脚本调用 (两种形式都需要--才能使ipython停止使用args 并将它们传递给您的模块/脚本)