Я ищу способ отключить автосохранение в ноутбуке iPython. Я видел ссылки через поиск Google/Stack Overflow, как включить автосохранение, но я хочу, чтобы наоборот (чтобы отключить автосохранение). Было бы предпочтительным, если бы это было то, что можно было установить постоянно, а не наверху каждого ноутбука.
Выключить автосохранение в ноутбуке IPython
Ответ 1
Если вы добавите это в свой 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 означает автоматическое сохранение каждые тридцать секунд.
Ответ 2
Это отключит автосохранение, как только вы в браузере IPython в браузере: %autosave 0
.
Обновление: теперь в JupyterLab есть функция пользовательского интерфейса: https://github.com/jupyterlab/jupyterlab/pull/3734.
Ответ 3
Оригинальное решение от MinRK устарело, отчасти потому, что IPython/Jupyter постоянно меняется. Я не могу найти соответствующую документацию для этого, кроме косвенной ссылки здесь, но согласно этому сообщению на форуме, решение теперь, кажется, состоит в том, чтобы отредактировать или создать файл ~/.jupyter/custom/custom.js
, и добавить линия:
Jupyter.notebook.set_autosave_interval(0); // disable autosave
Это работает для меня. Вы можете проверить, работает ли он, посмотрев краткую "Автосохранение отключено" в правом верхнем углу блокнота Jupyter при запуске. Полное решение в сообщении на форуме не работает для меня, возможно, потому что оно больше не является полностью действительным, и ошибки в файле custom.js, кажется, происходят молча.
Ответ 4
Пошаговое решение для Jupyter Notebook 5.5.0 в Windows (вероятно, будет работать и для других версий/версий)
-
Найдите папку конфигурации Jupyter:
from jupyter_core.paths import jupyter_config_dir jupyter_dir = jupyter_config_dir() # C:\users\<user_name>\.jupyter on my machine
-
создать подпапку
custom
и создать внутри нее файлcustom.js
:i.e. 'C:\users\<user_name>\.jupyter\custom\custom.js'
-
Поместите следующую строку в custom.js:
IPython.notebook.set_autosave_interval(0);
-
Сохраните файл и перезапустите сервер Jupyter Notebook (основное приложение).
-
При открытии записной книжки вы должны увидеть "Автосохранение отключено", кратко появившееся в правой части строки меню:
Ответ 5
Начиная с 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
объект Jupyter
станет доступен, что приведет к ошибке.
Просто чтобы быть понятным, custom.js должен находиться в ~/.jupyter/custom/custom.js - вы должны создать custom
каталог, если он не существует.
Ответ 6
Изменение: Интервал автосохранения при загрузке ноутбука больше не работает в последней версии Jupyter Notebook (jupyter notebook --version
в 6.0.1
). Итак, я вернулся к решению custom.js
:
mkdir -p ~/.jupyter/custom
echo "Jupyter.notebook.set_autosave_interval(0);" >> ~/.jupyter/custom/custom.js
Как указал Томас Мэлони выше, в JupyterLab теперь есть команда для этого (снимите флажок "Автосохранение документов" в меню "Настройки").
В Jupyter Notebook я думаю, что расширение 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, вы успешно отключили автосохранение. Поздравляем!