Edited at

JupyterLabのおすすめ拡張機能7選


はじめに

Jupyter notebookの進化形、Jupyter Lab。見た目が綺麗で使いやすいです。

今回は2019年4月現在で使用できる便利な拡張機能をご紹介します。

※JupyterLab,Node.jsが既にインストールされていることが前提です。以下バージョンで動作を確認しています。

JupyterLab : v0.35.4

Node.js : v11.13.0

これからJupyterLab,Node.jsを導入する人は以下を実行してください。

# Jupyterlabの導入(anacondaを入れている人は既に入っている可能性があります。)

$ pip install jupyterlab

# Node.jsの導入(バージョンは適宜修正してください)
$ curl -sL https://deb.nodesource.com/setup_11.x | bash -
$ apt-get install -y --no-install-recommends nodejs


1.Variable Inspector

変数名や型、内容を常に横に表示しておけるようになります。

いちいちprint文を打つ手間が省けます。

image.png


導入手順

以下コマンドを実行

$ jupyter labextension install @lckr/jupyterlab_variableinspector


2.Table of Contents

Markdown記法で書いた見出しが一覧で表示され、目的の見出しにワンクリックで飛べるようになります。

Apr-11-2019 18-01-18.gif


導入手順

以下コマンドを実行

$ jupyter labextension install @jupyterlab/toc


3.コード自動整形

Pythonの自動整形ツールであるBlack,YAPF,Autopep8を使用してコード整形を行えるようにする拡張です。

ショートカットを登録すれば任意のキーを押すことで整形させられるようになります。


導入手順

1.使用したい自動整形ツールをインストール

pip install (black or yapf or autopep8)

2.拡張機能の導入、有効化

pip install jupyterlab_code_formatter

jupyter labextension install @ryantam626/jupyterlab_code_formatter
jupyter serverextension enable --py jupyterlab_code_formatter

3.ショートカットキーの登録

settings→Advanced Settings Editor→Keyboard Shortcutsを開き、

image.png

image.png

User Overridesに以下を記入。"Ctrl K","Ctrl M"を変更することで任意のショートカットを作成できる。

{"jupyterlab_code_formatter:black":{

"command": "jupyterlab_code_formatter:black",
"keys": [
"Ctrl K",
"Ctrl M"
],
"selector": ".jp-Notebook.jp-mod-editMode"}
}


4.Vim風キーバインド

vimライクなカーソル移動やコマンドが打てるようになります。


導入手順

以下コマンドを実行

$ jupyter labextension install jupyterlab_vim


5.TensorBoard管理

JupyterLabのファイルディレクトリからTensorBoardが起動できたり、起動中のTensorBoardを一覧化できます。

tensorboard.gif

image.png


導入手順

以下コマンドを実行

$ pip install tensorflow-gpu #tensorflow(-gpu)がv1.3以上でないと動作しない 

$ pip install tensorboard
$ pip install jupyter-tensorboard
$ jupyter labextension install jupyterlab_tensorboard
$ jupyter serverextension enable --py jupyterlab_tensorboard


6.git連携

JupyterLabのGUI上からcommit,push,pull,ブランチ切り替えができるようになります。

image.png


導入手順

以下コマンドを実行

$ jupyter labextension install @jupyterlab/git

$ pip install jupyterlab-git
$ jupyter serverextension enable --py jupyterlab_git


7.ipywidgets使用


導入手順

以下コマンドを実行

$ pip install ipywidgets

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


動作未確認だけど役立ちそうな拡張

私の環境ではうまく動かなかったり試していなかったりで動作未確認ですが、今後対応される可能性もあるので一応紹介しておきます。

jupyterlab-flake8

flake8のコードチェック機能が使えるようになる

jupyterlab_voyager

csvをきれいなグラフで可視化してくれる

https://medium.com/@subpath/jupyter-lab-extensions-for-data-scientist-e0d97d529fc1

可視化関連の拡張機能がいくつか紹介されています。


最後に

そのままでも結構便利に使えるJupyterLabですが、拡張機能を入れることで自分好みにカスタマイズできます。

気になる拡張があったらぜひ入れてみてください。