繁体   English   中英

在IPython Notebook中关闭自动保存

[英]Turn Off Autosave in IPython Notebook

我正在寻找一种在iPython笔记本中关闭自动保存的方法。 我已经通过Google / Stack Overflow搜索看到了有关如何打开自动保存的参考,但是我想相反(关闭自动保存)。 如果可以永久设置而不是在每个笔记本的顶部进行设置,那将是比较可取的。

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

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

如果将其添加到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表示每三十秒自动保存一次。

MinRK最初的解决方案已经过时,部分原因是IPython / Jupyter一直在变化很大。 除了这里的间接参考,我找不到合适的文档,但是根据此论坛帖子 ,现在的解决方案似乎是编辑或创建~/.jupyter/custom/custom.js ,并添加线:

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

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

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

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

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

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

Autosave_Disabled

从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目录不存在,则必须创建它。

编辑 :在笔记本加载的自动保存间隔在Jupyter Notebook的最新版本( jupyter notebook --version6.0.1 )中jupyter notebook --version 所以我回到custom.js解决方案:

mkdir -p ~/.jupyter/custom
echo "Jupyter.notebook.set_autosave_interval(0);" >> ~/.jupyter/custom/custom.js

正如上面的Thomas Maloney所指出的,JupyterLab现在有一个命令(在“ 设置”菜单中取消选中“ 自动保存文档 )。

在Jupyter笔记本电脑,我觉得autosavetime扩展相比,更便于使用custom.js文件。 autosavetime扩展的一部分Jupyter笔记本扩展 ,可与安装

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

安装完成后,重新启动jupyter notebook然后转到“ 编辑”菜单中的nbextensions_config 选择autosavetime扩展,然后关闭自动保存,如下所示:

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM