我有一个python程序,通常作为包的一部分运行:
python -m mymod.client
为了处理“mymod”内部的相关进口/客户端.py“我如何使用pdb运行这个-python调试器。以下操作无效:
^{pr2}$它会产生错误:
Error: mymod.client does not exist
我的问题并不是关于同时运行两个模块python,而是关于如何在一个python脚本上使用pdb,这个脚本中有相对的导入,通常通过运行“python-m”来处理
重申一下,我的问题可能是,如何在这样的脚本上使用pdb,而不必为了让它与pdb一起运行而更改脚本本身(即:尽可能保留脚本内部的相对导入)。这不应该是可能的吗,或者如果我想使用pdb,我是不是被迫以某种方式重构?如果是这样的话,对脚本结构的最小更改是什么,我必须引入这些更改来允许我利用pdb。在
总之,我不在乎如何运行脚本,只要我能让它在pdb中工作,而不必过多地改变它的内部结构(相对导入等)。在
这是不可能的。虽然在文档中没有说明,但是Python不会通过
-m
命令行选项解析两个模块。在我想我有个解决办法。在
这样运行:
它将作为脚本运行,但不会将其视为包。 在顶部客户端.py,第一行应为:
^{pr2}$这样就可以加载包本身了。 我还在玩这个,但到目前为止似乎还管用。在
相关问题 更多 >
编程相关推荐