IPython Notebookで自動保存をオフにする方法を探しています。自動保存をオンにする方法についてGoogle/Stack Overflowの検索からの参照を見たことがありますが、その逆(自動保存をオフにする)が必要です。これが各ノートブックの上部ではなく、永続的に設定できるものである場合、それが優先されます。
これを_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秒ごとに自動保存することを意味します。
これにより、ブラウザーでIPython Notebookに入ると、自動保存が無効になります:%autosave 0
。
更新:JupyterLabにUI機能が追加されました: https://github.com/jupyterlab/jupyterlab/pull/3734 =
MinPythonの元のソリューションは古くなっていますが、これはIPython/Jupyterが頻繁に変化し続けるためです。間接参照以外、これに関する適切なドキュメントは見つかりません ここ 、しかしこれによれば フォーラム投稿 によると、解決策はファイルを編集または作成することです~/.jupyter/custom/custom.js
、次の行を追加します。
Jupyter.notebook.set_autosave_interval(0); // disable autosave
これでうまくいきます。起動時に、Jupyterノートブックの右上隅にある簡単な「自動保存無効」ボックスを探すことで、機能するかどうかを確認できます。フォーラム投稿の完全な解決策は私にはうまくいきませんでした。おそらくそれが完全に有効でなくなったためであり、custom.jsファイルのエラーが静かに発生しているようです。
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サーバー(メインアプリ)を再起動します。
ノートブックを開くと、メニューバーの右側に「自動保存が無効」と短時間表示されます。
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 --version
_ at _6.0.1
_)では、ノートブックのロード時の自動保存間隔が機能しないようです。それで、私は _custom.js
_ ソリューションに戻ります:
_mkdir -p ~/.jupyter/custom
echo "Jupyter.notebook.set_autosave_interval(0);" >> ~/.jupyter/custom/custom.js
_
上記の Thomas Maloney で指摘されているように、JupyterLabにはそのためのコマンドがあります( Autosave Documents のチェックを外します Settings メニュー)。
Jupyter Notebookでは、autosavetime
拡張機能は_custom.js
_ファイルよりも使いやすいと思います。 autosavetime
拡張機能は Jupyterノートブック拡張機能 の一部であり、次のようにインストールできます
_pip install jupyter_contrib_nbextensions
jupyter contrib nbextension install
jupyter nbextension enable autosavetime/main
_
インストールしたら、_jupyter notebook
_を再起動し、 Edit メニューの nbextensions_config に移動します。 autosavetime
拡張子を選択し、次のように自動保存をオフにします。
変更をテストするには、Python Notebookを開くか作成して、新しいセルで実行します。
_%%javascript
element.text(Jupyter.notebook.autosave_interval);
_
結果が0であれば、自動保存は正常にオフになっています。おめでとう!