Jupyter如何在后台运行单元格?

Cri*_*y13 4 python background nohup jupyter

通常,如果在单元格运行时网络连接丢失或网络浏览器关闭,我必须从头开始再次运行单元格。

为了解决这个问题,我将 .ipynb 转换为 .py 并使用“nohup python .py”

有什么办法可以像 nohup 一样防止正在运行的单元停止吗?

先感谢您。

Ksh*_*ena 7

您可以在不同的线程中启动您的进程。

def network_call():
    # Do something here

threading.Thread(target=network_call).start()

move_ahead()
Run Code Online (Sandbox Code Playgroud)


Jay*_*Jay 5

根据https://github.com/jupyter/notebook/issues/2446

笔记本中已运行的任何内容都将继续运行,并且为其启动的内核将继续运行 - 因此它不会丢失您的变量。但是,笔记本未在浏览器选项卡中打开时生成的任何输出都会丢失;在我们让笔记本服务器能够跟踪文档状态之前,没有一种简单的方法可以改变这一点,这已经在计划中很久了。

当您关闭选项卡时,并不意味着该进程已结束,它会继续在后台运行而没有输出。

我不确定现在是否有任何方法可以实现这一点,但我发现如果您使用的是jupyterhub,您可以继续运行终端ipython选项卡,当选项卡关闭或切换到另一个设备(关闭上一个网页)时,所有输出保留。也许或者更好?screentmux