在pdb
中,我使用interact命令进入交互模式(documentation)。
这将在pdb
中提供一个InteractiveConsole(我需要它来进行列表理解)。
在Jupyter Notebook中,如何在不完全退出调试器的情况下离开交互模式?
这个question是完全相同的问题,但解决方案只能在终端上工作。
- 在Jupyter中使用ctrl+d可以添加一个书签。
- 而
quit()
则返回NameError: name 'quit' is not defined
我可以执行import sys; sys.exit()
,但这会完全退出调试器,这意味着我必须从头开始。
3条答案
按热度按时间nbysray51#
这里有一个类似triccare的解决方案,它不需要Emacs。
在Linux上运行以下命令:
或在macOS上执行以下命令:
然后粘贴到Jupyter中PDB交互式提示符中并按Enter键。
工作原理:这将把ASCII字符0x04“END OF TRANSMISSION”放到剪贴板上。这个字符是一个“控制字符”,表示没有更多的输入,这将导致PDB交互会话结束。
czq61nw12#
解决此问题的一种平台无关的方法是使用
pandas
(不需要终端或Emac):cld4siwp3#
我 成功 的 唯一 方法 是 从 另 一 个 源 复制/粘贴 Crtl-D 字符 。 我 使用 Emacs , 所以 这 是 相当 容易 的 , 但是 任何 允许 您 将 Crtl-D 插入 到 文档 中 的 文本 编辑 器 都 应该 可以 工作 。 一旦 插入 , 使用 标准 的 复制/粘贴 到 pdb interact 字段 中 , 然后 点击 或 。 这 应该 可以 让 您 退出 。
对于 Emacs , 长 路径 如下 所 示 ( 出于 演示 目的 ) :
中 的 每 一 个
此时 你 应该 会 在 缓冲 区 中 看到 ^ D 。 此时 选择 该 角色 , 然后 M-w 或 kill-ring - save 将 其 放到 剪贴 板 中 。
然后 , 切换 到 浏览 器 , 激活 交互 域 , 并 将 角色 粘贴 回去 。 你 不会 看到 任何 东西 。 然后 点击 。 这 应该/可能 会 让 你 离开 。