我使用Jupyter Notebook进行一系列需要一些时间的实验。
某些单元格花费太多时间执行,因此正常情况下我想关闭浏览器选项卡,然后稍后再返回。 但是当我这样做时,内核中断正在运行。
我想有一个解决方法,但我找不到
似乎最简单的解决方法是内置单元魔术%%capture:
%%capture output
# Time-consuming code here
保存,关闭标签页,稍后再返回。现在,输出存储在output变量中:
output.show()
这将显示所有临时print结果以及普通或丰富输出单元格。
TL; DR:
代码不会在选项卡关闭时停止,但是输出不再能够找到当前的浏览器会话,并且会丢失有关其应如何显示的数据,从而导致它丢弃接收到的所有新输出,直到代码完成时才在选项卡上运行关闭。
长版:
不幸的是,此方法尚未实现(11月24日)。如果有解决方法,我也找不到。 (仍在查找,将随新闻更新。)有一种解决方法,可以保存输出然后重新打印,但是如果该笔记本中仍在运行代码,则该方法将不起作用。另一种选择是拥有第二个笔记本,您可以在其中获得输出。
出于相同的原因,我也需要此功能。内核不会关闭或在选项卡关闭时中断。关闭选项卡后,代码不会停止运行。给出的警告完全正确:"内核正忙,可能会丢失输出。"
跑步
import time
a = 0
while a < 100:
a+=1<