这里有一个与triccare类似的解决方案,不需要使用Emacs。
在Linux上运行以下命令:
echo '\x04' | xclip -selection clipboard
echo '\x04' | pbcopy
然后将其粘贴到Jupyter中的PDB交互式提示符中,并按回车键。
原理:这会将ASCII字符0x04,“传输结束”放入您的剪贴板中。这个字符是一个“控制字符”,表示没有更多的输入,从而导致PDB交互式会话结束。
一个跨平台的解决方法是使用pandas
(不需要终端或Emac):
from pandas.io.clipboard import copy; copy("\x04")
M-x insert char <RET> END OF TRANSMISSION <RET>
此时您应该在缓冲区中看到^D。然后选择该字符并使用M-w或kill-ring-save将其放入剪贴板。
接下来,切换到浏览器并使交互字段处于活动状态,然后将字符粘贴回去。您将看不到任何内容。然后按“.”这应该/可能会让您退出。