有没有办法禁用 Jupyter Notebooks 的保存检查点功能?

17

我在一个工作环境中,不允许将文件夹命名为.ipynb_checkpoints并向磁盘空间写入。

不幸的是,这是Jupyter Notebook默认的保存和检查点路径。有没有办法配置Jupyter Notebook不使用检查点功能或允许使用其他文件夹名称?

3个回答

13

虽然并不是对你问题的确切回答,但或许已经足够接近了。

检查点文件夹的路径是可配置的,因此您可以将其重命名为允许的名称,如“_ipynb_checkpoints”,或者将其移动到完全不同的文件夹中。

您只需添加

c.FileCheckpoints.checkpoint_dir = '_ipynb_checkpoints'

jupyter_notebook_config.py


这个配置文件通常在哪里找到? - Monica Heddneck
@MonicaHeddneck 有点晚了,但这个文件在 ~/.jupyter 中,你可以运行 jupyter notebook --generate-config 来创建该文件。请参考 https://jupyter-notebook.readthedocs.io/en/stable/config.html - orthocresol
你已经接近成功了!只需设置 c.FileCheckpoints.checkpoint_dir = '' - 就不会创建任何文件夹! - Apostolos
后来我发现,如果采取上述操作,NB会在打开的.ipynb文件路径下创建一个名为“{filename}-checkpoint.ipynb”的备份文件,而不是一个文件夹。我不知道这是否可以被防止。但是,这仍然比创建整个文件夹要好! - Apostolos
1
使用Jupyter Lab更新此解决方案?我在jupyter-notebook-config.py中找不到c.FileCheckpoints,而且我甚至不确定这是否是适用于Jupyter Lab的正确配置。 - Ian

3
您可以取消选中 设置 -> 自动保存文档 以避免自动保存文件,但是每次打开文件时它都会创建一个 .ipynb_checkpoints 文件夹,我找不到避免此行为的解决方案,但有一种方法可以指定一个文件夹来收集所有检查点文件并一起删除。
  1. 在 jupyterlab 中,您可以使用 jupyter notebook --generate-config 生成名为 jupyter_notebook_config.py 的配置文件。
  2. 然后您可以编辑此文件:c.FileContentsManager.checkpoints_kwargs = {'root_dir': r'D:\'}

或者您也可以直接使用命令行选项。

jupyter lab --FileContentsManager.checkpoints_kwargs="root_dir"="D:/"

这并没有回答问题。一旦您拥有足够的声望,您将能够评论任何帖子;相反,提供不需要询问者澄清的答案。- 来自审核 - Register Sole
感谢您提供这个命令行选项,现在检查点已保存在笔记本文件夹之外,这对我很有帮助。jupyter lab --FileContentsManager.checkpoints_kwargs="root_dir"="/tmp" - rv_normal

2

有几种方法可以停止自动保存。

如果您已经安装了jupyter-contrib-nbextensions,那么有一个名为AutoSaveTime的贡献nbextension会在笔记本工具栏上添加自动保存时间配置,只需确保:

"autosavetime/main": true

在你的notebook.json配置文件中可以设置。

或者在一个单元格中,要更改当前笔记本的自动保存值,可以编写:

%autosave 0

或者您可以更改自己的custom.js文件,使其对所有笔记本永久生效:

define([
    'base/js/namespace',
    'base/js/events'
    ],
    function(IPython, events) {
        events.on("notebook_loaded.Notebook",
            function () {
                IPython.notebook.set_autosave_interval(0);
            }
        );
    }
);

3
谢谢!我尝试了那个,但问题并不是自动保存,而是当我点击“保存和检查点”或按CTRL+S时,Jupyter Notebook会尝试创建.ipynb_checkpoints文件夹并将检查点保存在那里。这就是导致错误信息出现的原因,因为在我的环境中,使用前置点.来命名文件夹是被禁止的。我正在寻找一个解决方案,可以仅保存并覆盖当前文件,而不创建任何检查点。 - JoT
尝试使用save_hooks进行实验,但找不到改变检查点路径的方法。https://jupyter-notebook.readthedocs.io/en/stable/extending/savehooks.html - JoT
你找到解决方案了吗?我在处理SharePoint驱动器时遇到了同样的问题。 - davost

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接