Pynote

Python、機械学習、画像処理について

Python - JupyterLab の便利な拡張を紹介

nodejs をインストールする。

JupyterLab の拡張機能を使用するには、nodejs が必要である。
NodeSource Node.js Binary Distributions の指示通り、インストールを行う。

curl -sL https://deb.nodesource.com/setup_11.x | bash -
apt-get install -y --no-install-recommends \
    nodejs

コードの自動整形

pynote.hatenablog.com

数式レンダリングに MathJax ではなく、Katex を使う。

katex-extension を導入すると、Markdown モードで入力した数式レンダリングを Mathjax ではなく、Katex で行うようになる。

KaTeX and MathJax Comparison Demo を見るとわかるが、Mathjax と比べて、Katex はかなり早いので Notebook で数式をリアルタイムにプレビューしながら編集する際に表示が高速になる。

jupyter labextension install @jupyterlab/katex-extension


定義されている変数の中身を確認する。

jupyterlab_variableinspector を導入すると、Notebook で定義した変数の中身を確認できる機能が追加される。numpy や pandas に対応しており、配列の形状も一緒に確認できる。

jupyter labextension install @jupyterlab/katex-extension

使い方はメインワークエリアで右クリックし、コンテキストメニューから「Open Variable Inspector」を選択する。
メインワークエリアを分割し、一方に「Notebook」タブ、もう一方に「Variable Inspector」タブを配置すると見やすい。


Notebook 上に GUI ウィジェットを埋め込む。

ipywidgets は JupyterLab 上でスライダーやボタンなどの GUI ウィジェット使えるようにする拡張である。

Jupyter Widgets Documentation に従い、インストールする。

pip install ipywidgets
jupyter nbextension enable --py widgetsnbextension --sys-prefix
jupyter labextension install @jupyter-widgets/jupyterlab-manager


Notebook のテンプレートを作成する。

jupyterlab_templates は notebook のテンプレートを作成し、呼び出せるようにする拡張である。

pip install ipywidgets
jupyter labextension install jupyterlab_templates
jupyter serverextension enable --py jupyterlab_templates

使い方

1. 適当なフォルダを作成し、中にテンプレートにしたい .ipynb ファイルを入れておく。

2. jupyter_notebook_config.py をまだ作っていない場合は作成する。

jupyter notebook --generate-config

3. jupyter_notebook_config.py を編集し、以下を追加する。

c.JupyterLabTemplates.template_dirs = ['ディレクトリのパス1', 'ディレクトリのパス2', ...]
c.JupyterLabTemplates.include_default = True
  • c.JupyterLabTemplates.template_dirs にはテンプレートとなる .ipynb があるディレクトリのパスをリストで指定する。
  • c.JupyterLabTemplates.include_default はデフォルトのテンプレートを表示するかどうかを指定する。

設定後は JupyterLab を再起動する。

4. メニューバーまたはランチャーから「File→New→From Template」を選択する。

テンプレートの追加、編集は JupyterLab を再起動すると、反映される模様。