python - eventlet.monkey_patch()中断Docker容器中的ipdb

原文 标签 python pdb eventlet ipdb nameko

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

我认为这是这段代码阻止通过ipdb进行任何调试尝试。 ipdb控制台显示在终端中,但是我无法键入任何内容,必须关闭整个终端会话才能退出该过程。

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

如何在此功能中使用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


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

相关文章:

python - 无法将分类数据转换为数字OneHotEncoder

python - Python中的子流程文件操作

python - python在后台运行

python - 在pdb python中设置断点

javascript - Python Eventlet + Javascript Websocket返回Blob

python - 保留pandas数据框的原始值

python - 无法访问flask-socketio会话

python - 如何将traceback.print_exc重定向到日志记录

c# - 使用Visual Studio 2010远程调试C#.dll-获取.PDB文件不匹配-绝对不是构建中的