LoginSignup
56

More than 5 years have passed since last update.

posted at

updated at

Jupyter notebook で HTML も自動作成

Jupyter notebook は快適だけれども、昔のノートブックを見るためにサーバーをわざわざ起動させるのが気分的に面倒ということがある。同僚と情報を共有するのに HTML のほうが良いということもあるかもしれない。そういう時のために、自動的に HTML ファイルと py ファイルを保存するようにしておくと便利。

まず、(なければ)設定ファイルを作る。

% jupyter notebook --generate-config

作られた ~/.jupyter/jupyter_notebook_config.py を開いて

#-----------------------------
# Configurable configuration
#-----------------------------

の下にでも

import os
from subprocess import check_call

def post_save(model, os_path, contents_manager):
    """post-save hook for converting notebooks to .py scripts"""
    if model['type'] != 'notebook':
        return # only do this for notebooks
    d, fname = os.path.split(os_path)
    check_call(['jupyter', 'nbconvert', '--to', 'script', fname], cwd=d)
    check_call(['jupyter', 'nbconvert', '--to', 'html', fname], cwd=d)

c.FileContentsManager.post_save_hook = post_save

これで、ipynb が作られると同時に同名の html と py (あるいは r など)が作られる。

参考

Jupyter Notebook for Data Science Teams (O'Reilly)

ipython nbconvert は古いという警告がでるので、参考元のコードの ipython を jupyter に変更しました。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
56