自分のキャリアをあれこれ考えながら、Pythonで様々なデータを分析していくブログです

Jupyter NotebookからJupyterLabに切り替えるためJupyterLab用の拡張機能をインストールしました。

Python
Python

前回、「Jupyter notebookのUIが変更になっていました」という記事を書きました。

notebookがバージョン7になってからRetroLabというテーマを採用した影響のようで、今まであえてJupyter notebookを好んで使っていた私のような方は戸惑ったかと思います 笑

そんな私はというとRetroLabに慣れるくらいであれば、もうこれを機にJupyterLabに切り替えることを心に決めました。

スポンサーリンク

JupyterLabで拡張機能をインストールする方法

Jupyter notebookのおすすめ拡張機能5選をまとめてみたという記事でJupyter notebookをカスタマイズしていたのでJupyterLabにも同じ様な機能があればそのまま使うし、なければ拡張機能を追加しようと思います。

JupyterLabでの拡張機能のインストール方法は簡単になりました。

ほとんどの拡張機能はpipやcondaもしくはJupyterLabのUI(Extension Manager)から拡張機能名を選択しインストールするだけになっています。

Installing Extensions
Most JupyterLab extensions can be installed using Python pip or conda packages. These packages may also include a server-side component necessary for the extension to function.
引用: https://jupyterlab.readthedocs.io/en/stable/user/extensions.html

ちなみにMigrate from classical Jupyter notebookというページにてJupyter notebookで使っていた拡張機能がJupyterLabだとどのような名称に該当するかまとめられています。

Jupyter Notebookで使っていた拡張機能を抜き出すとJupyterLabでは下記になるようです。

Feature Extension (if applicable) Minimum JupyterLab Version
Collapsible Headings Built in feature since 3.1 (PR) 1+
Table of Contents (2) Built-in feature 3+
Variable Inspector lckr-jupyterlab-variableinspector extension 1+
ExecuteTime jupyterlab-execute-time extension 2+
table_beautifier 該当なし 該当なし

なんと下記2つはJupyterLabに組み込まれているようです。
・Collapsible Headings
・Table of Contents (2)

table_beautifierはなさそうですが、正直あまり使わなかったので無くてもとりあえずはOK。

Variable InspectorとExecuteTimeはよく使うのでlckr-jupyterlab-variableinspectorとjupyterlab-execute-timeをインストールすれば良さそうでしょうか。

スポンサーリンク

Jupyter notebookで使っていた拡張機能をJupyterLabで試してみる

Collapsible Headings

markdownの##などのタイトルタグ毎にセルの情報を折り畳んでくれる機能になります。
分析しているときに記述が長くなってしまうとき、セクション毎に分割してまとめておくと後で見直したり、他の人にシェアするときに見やすくなるのでおすすめです。

JupyterLab3.1からデフォルト機能になり組み込み済みのようです。

Collapsible Headings機能を使う前

Collapsible Headings機能を使った後

Table of Contents (2)

markdownで記載したヘッダーを一覧表示できる機能です。リンクをクリックすると目的の位置に飛べるので長いノートブックを作成してしまった場合は便利。

lckr-jupyterlab-variableinspector → frz-jupyterlab-variableinspector

jupyterlab4系を利用の場合、23年9月18日現在lckr-jupyterlab-variableinspectorは未対応のようです。
(私はjupyterlab-4.0.6を使っていました)

lckr-jupyterlab-variableinspectorをインストールしようとすると依存関係だからかjupyterlab-4.0.6がアンインストールされ、jupyterlab-3.6.5がインストールされてしまいました。(そもそもExtension Managerにも出現しないのでpipでインストールを試してみました。)

lckr-jupyterlab-variableinspectoをインストール
pip install lckr-jupyterlab-variableinspector
Out[0]
> Installing collected packages: jupyterlab, lckr-jupyterlab-variableinspector
  Attempting uninstall: jupyterlab
    Found existing installation: jupyterlab 4.0.6
    Uninstalling jupyterlab-4.0.6:
      Successfully uninstalled jupyterlab-4.0.6
・・・省略・・・
Successfully installed jupyterlab-3.6.5 lckr-jupyterlab-variableinspector-3.0.9

せっかくなのでjupyterlab4を使いたいので、代わりにjupyterlab4に対応していると思われるfrz-jupyterlab-variableinspectorをインストールしたところ問題なく利用できました。

(なぜ対応しているのかというとJupyterLabのExtension Managerに出てくるからです 笑 おそらく対応していないと出てこないのではないかと思います。lckr-jupyterlab-variableinspectorが出てこなかったので、、)

検索結果(frz-jupyterlab-variableinspector)とインストール済み(feiranzhang-jupyterlab-variableinspector)の拡張機能名が異なっていますが同じものなはずです。

SEARCH RESULTSでインストールしたい拡張機能の「install」リンクを押下すると自動的にインストールされます。(JupyterLabを再起動したり新規カーネルをスタートしないと正常動作しないかも?)

Extension Managerでfrz-jupyterlab-variableinspectorを検索した結果

variable inspectorを使いたい場合はセル上で右クリック→Open Variable Inspector→新規タブで開くのでタブを右側に持っていくなど好みに合わせて配置で利用可能です。

Variable Inspectorの利用画面
スポンサーリンク

jupyterlab-execute-time extension

最後はjupyterlab-execute-time extensionです。これは実行時間をセルの下部に表示してくれる機能です。Jupyter notebookの時から重宝している機能になります。

私は自作関数の計測などで使っています。毎回マジックコマンド(%%timeなど)で処理時間を計測するのが面倒な方はぜひインストールして見てください。

各セルの実行した日時も記録されるのでどのセルを先に実行したかなども分かりやすくなります。

インストール方法ですが、Extension Managerから「jupyterlab-execute-time」で検索し、installリンクを押下すればOKです。(下記画像はインストール済みなので検索結果に出現しないのかも?)

Extension Managerでexecute-timeの検索結果

下記のように実行日時と時間がセルの下部に出てくればインストール完了です。JupyterLabやカーネルの再起動が場合によっては必要かも知れません。

jupyterlab-execute-time extensionインストール後
スポンサーリンク

JupyterLab 4について

JupyterLab4って何なのということで調べてみました。

下記が参考になりました。

JupyterLab 4.0 is Here

JupyterLab Changelog

まとめると動作が早くなったり、エディタ・UI・拡張機能マネージャーが改善したり、100以上のバグに対応したりと良さそうな内容ばかりでした。

また、JupyterLab4の新規機能はJupyterLab3.6にも適用されたとのことです。そのためJupyterLab3.6をお使いの方はマイナーアップデートだけでも十分だよという方もいらっしゃるかも知れません。

In addition, a few features in JupyterLab 4 have also been backported to JupyterLab 3.6, but if you’re upgrading from 3.5 or earlier, they will also be new to you:
引用: https://blog.jupyter.org/jupyterlab-4-0-is-here-388d05e03442

スポンサーリンク

まとめ

これでJupyter notebookからJupyterLabに移行する準備は整いました 笑

使い始めてみると意外に悪くないです。慣れればむしろ使いやすいかも。

Jupyter notebookの方はRetroLabを使う代わりにJupyterLabに移行してみてはいかがでしょうか。

タイトルとURLをコピーしました