我有一个嵌套的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
不起作用。
有什么建议吗?
答案 0 :(得分:1)
ipython --pdb -m mytool.web -- -c myconfig.yaml
此表单也适用于没有-m的常规脚本调用
(两种形式都需要--
才能使ipython停止使用args
并将它们传递给您的模块/脚本)