eventlet.monkey_patch() 破坏 docker 容器中的 ipdb
eventlet.monkey_patch() breaks ipdb in docker container
所以我正在使用微服务 python 包 nameko,它使用 eventlet
运行服务并在导入时调用 eventlet.monkey_patch()
。
我已经破译出正是这段代码阻止了通过 ipdb
进行的任何调试尝试。 ipdb
控制台显示在终端中,但我无法输入任何内容,必须关闭整个终端会话才能退出进程。
卡住的控制台看起来像:
如何使用 ipdb
这个功能?
编辑:这个问题 仅 似乎发生在 docker 容器内。
抱歉,没有方便的解决方案,目前您最好的选择是在使用 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
所以我正在使用微服务 python 包 nameko,它使用 eventlet
运行服务并在导入时调用 eventlet.monkey_patch()
。
我已经破译出正是这段代码阻止了通过 ipdb
进行的任何调试尝试。 ipdb
控制台显示在终端中,但我无法输入任何内容,必须关闭整个终端会话才能退出进程。
卡住的控制台看起来像:
如何使用 ipdb
这个功能?
编辑:这个问题 仅 似乎发生在 docker 容器内。
抱歉,没有方便的解决方案,目前您最好的选择是在使用 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