我正在使用Jupyter(IPython)笔记本,其中pdb / ipdb运行正常,除了一个问题:如果我在pdb模式下意外运行了我的pdb所在的同一个单元格,输出消失,整个笔记本获得陷入困境,我无法再运行任何命令。我也试过打断或重启内核;不起作用。我唯一的选择是关闭笔记本电脑,然后重新启动它。
是否有其他人遇到此问题/知道解决方案?我每次犯这个错误都要重新启动笔记本电脑非常烦人。
以下是问题的屏幕截图。下面我按照预期的pdb模式:
如果我(不小心)运行我的pdb所在的同一个单元格,那么笔记本会在尝试运行该单元格时卡住,并且不会运行其他任何内容(如下面的单元格)。
答案 0 :(得分:1)
看起来你需要重启。 单击菜单“Kernel”,选择“Restart”并单击“Restart”按钮。 现在,重新执行你的单元格。
答案 1 :(得分:1)
在较新版本的 Jupyter(我的是 6.1.4
)中,按“中断内核”按钮可以解决问题(并且您保留所有变量和 Python 会话):
在重新运行产生断点的单元格后按下按钮,您再次将 pdb
控制台打印到单元格的输出,然后您可以再次与 pdb
交互。似乎“中断内核”的工作方式类似于键盘中断,强制刷新输出单元。
重新运行后按 i
两次具有相同的效果(另见 this post)。
答案 2 :(得分:-1)
输入c并按回车继续执行: