在IPython Notebook中关闭自动保存

时间:2014-09-02 19:56:34

标签: python jupyter-notebook autosave

我正在寻找一种方法来关闭iPython笔记本中的自动保存功能。我通过Google / Stack Overflow搜索了如何打开自动保存的参考,但我想要相反(关闭自动保存)。如果这是可以永久设置的东西而不是每个笔记本的顶部,那将是优惠的。

6 个答案:

答案 0 :(得分:22)

一旦您在浏览器中使用IPython Notebook,这将禁用自动保存:%autosave 0

更新:现在JupyterLab中有一个用户界面功能:https://github.com/jupyterlab/jupyterlab/pull/3734

答案 1 :(得分:10)

如果您将其添加到custom.js,它将禁用所有笔记本的自动保存:

$([IPython.events]).on("notebook_loaded.Notebook", function () {
  IPython.notebook.set_autosave_interval(0);
});
custom.js找到

$(ipython locate profile)/static/custom/custom.js。您可以使用相同的内容来增加或减少自动保存间隔。该值以毫秒为单位,因此间隔为30000表示每30秒自动保存一次。

答案 2 :(得分:4)

MinRK的原始解决方案已经过时,部分原因是IPython / Jupyter不断变化。除了间接引用here之外,我找不到适当的文档,但根据此forum post,解决方案现在似乎是编辑或创建文件~/.jupyter/custom/custom.js,以及添加行:

   Jupyter.notebook.set_autosave_interval(0); // disable autosave

这对我有用。您可以通过在启动时查找Jupyter笔记本右上角的简短“自动保存已禁用”框来确认其是否有效。论坛帖子中的完整解决方案对我不起作用,可能是因为它不再完全有效,而且custom.js文件中的错误似乎是无声的。

答案 3 :(得分:2)

Windows上的Jupyter Notebook 5.5.0的分步解决方案(可能也适用于其他环境/版本)

  1. 找到Jupyter配置文件夹:

    from jupyter_core.paths import jupyter_config_dir
    jupyter_dir = jupyter_config_dir()  # C:\users\<user_name>\.jupyter on my machine
    
  2. 创建子文件夹custom,并在其中创建文件custom.js

    i.e. 'C:\users\<user_name>\.jupyter\custom\custom.js'
    
  3. 将以下行放入custom.js:

    IPython.notebook.set_autosave_interval(0);
    
  4. 保存文件并重新启动Jupyter Notebook服务器(主应用程序)。

  5. 打开笔记本时,菜单栏的右侧应短暂显示“禁用自动保存”:

Autosave_Disabled

答案 4 :(得分:0)

从Jupyter 4.4(2019)开始,一种可行的解决方案是将其添加到您的custom.js文件中:

require(['base/js/namespace', 'base/js/events'], function (Jupyter, events) {
  Jupyter.notebook.set_autosave_interval(0);
  console.log("Auto-save has been disabled.");
});

没有require块,JavaScript将在Jupyter对象可用之前执行,从而导致错误。

要清楚一点,custom.js应该驻留在〜/ .jupyter / custom / custom.js中-如果custom目录不存在,则必须创建它。

答案 5 :(得分:0)

如上面Thomas Maloney所指出的,JupyterLab现在有一个命令(在 Settings 菜单中取消选中 Autosave Documents )。

在Jupyter Notebook中,我认为autosavetime扩展名比custom.js文件更易于使用。 autosavetime扩展名是Jupyter notebook extensions的一部分,可以通过以下方式安装

pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install
jupyter nbextension enable autosavetime/main

安装完成后,重新启动jupyter notebook并转到 Edit 菜单中的 nbextensions_config 。选择autosavetime扩展名,然后按如下所示关闭自动保存:

  • 选中复选框设置笔记本负载的自动保存间隔。如果为false,则默认值保持不变。
  • 输入0表示自动保存间隔(以分钟为单位),该间隔将在笔记本计算机加载时设置

要测试修改,请执行以下操作:打开或创建Python笔记本,然后在新单元格中执行

%%javascript
element.text(Jupyter.notebook.autosave_interval);

如果结果为0,则说明您已成功关闭自动保存功能。恭喜!