2019-07-19 公開 / 2019-07-30 更新
Jupyter好きなんだけどgitでの差分管理がつらい。
pyファイルを保存すれば差分が見られるようになるが、Jupyter Notebookのメニューからpyファイルを保存すると、いらない情報も一緒に保存されて差分管理の邪魔。
そんなときに便利なのがjupytext
。Jupyter Notebook保存時にpyファイルも一緒に保存・更新してくれる。
さらに、pyファイル側の編集結果がipynbファイルに反映されるため、ipynbでは面倒なセルをまたいだ一括置換などがやりやすくなる。
手順
詳細は以下の記事。自分の環境での設定時に参考にさせていただきました。ありがとうございました。
ただ1点、自分の環境では~/.jupyter/jupyter_notebook_config.py
ではなく~/.jupyter/jupyter_notebook_config.json
だったのでその部分についてメモ。
以下では上の記事での手順をまとめているので、記事内の
3.jupyter notebookを立ち上げ、Edit>Edit Notebook Metadataを開き、以下を追加
部分は不要になっている。
pip install jupytext
を実行し、jsonファイルを以下のように編集するだけで全ipynbに勝手に適用される。*1
~/.jupyter/jupyter_notebook_config.json
に以下の内容を追加してJupyter Notebookを再起動すればOK。*2
自分の環境ではnbextensionを入れていた関係か、jsonファイルが以下の形で存在していた。
{ "NotebookApp": { "nbserver_extensions": { "jupyter_nbextensions_configurator": true } } }
このjsonファイルに、上の記事を参考に追記する。
{ "NotebookApp": { "nbserver_extensions": { "jupyter_nbextensions_configurator": true }, "contents_manager_class":"jupytext.TextFileContentsManager" }, "ContentsManager": { "default_jupytext_formats":"ipynb,py" } }
これでいい感じにgitで差分管理できるはず。
もっと早くから設定しておけばよかった...。