eventlet.monkey_patch()在docker容器中破坏ipdb

时间:2016-11-28 11:10:20

标签: python pdb eventlet ipdb nameko

所以我使用的是微服务python包 nameko ,它使用eventlet运行服务并在导入时调用eventlet.monkey_patch()

我已经破译说这段代码阻止了ipdb的任何调试尝试。 ipdb控制台显示在终端中,但我无法输入任何内容,必须关闭整个终端会话才能退出该过程。

卡住的控制台看起来像: enter image description here

如何在此功能中使用ipdb

编辑:此问题似乎发生在docker容器中。

1 个答案:

答案 0 :(得分:2)

很抱歉,没有方便的解决方案,现在您最好的选择是在使用ipdb时跳过docker(您可以从docker中提取文件系统映像并在另一个虚拟化中运行它,例如qemu,Virtualbox,systemd-nspawn)。请参阅https://github.com/larsks/undocker以获取帮助。

其他要尝试的事情(可能无效,请分享结果):

  • 将eventlet更新为github master pip install https://github.com/eventlet/eventlet/archive/master.zip

此问题在此处交叉发布https://github.com/eventlet/eventlet/issues/361