Jupyter Notebookの進化系「Jupyter Lab」の導入と使い方

スポンサードリンク



こんにちは。sinyです。

以前からちょっと気になっていたJupyterNotebookの進化系である「Jupyter Lab」を実際に触ってみました。

従来のJupyter Notebookにくらべるとかなり便利になっています。

また、Jupyter Labには拡張機能がいろいろあるのですが、Google Driveと連携させる機能が便利だったので設定手順などもまとめてみましたので、ぜひ、まだ利用したことがない方は使ってみてください。

JupyterLabとは?

Jupyter Lab は、Jupyter Notebook の進化系としてリリースされたものです。

従前のJupyter Notebookは一度に1画面しか表示できませんでしたが、Jupyter Labではノートブックだけではなく、ターミナル画面やテキストエディタなど複数要素の画面を同時に利用できる構成になっています。

また、npmパッケージを使って機能拡張を行うことができます。

JupyterLabの導入手順

  1. JupyterLabをインストールします。
pip install jupyterlab

 

起動するには以下のコマンドを実行します。

jupyter lab

 

以下のような画面が表示されればOKです。

JupyterLabの特徴

フレキシブルレイアウト

JupyterLabは通常のJupyterと違いフレキシブルレイアウトになっています。

以下のように、1画面上に様々な画面を表示できるので便利ですね。

 ちなみに、URLを「http://localhost:8888/lab →http://localhost:8888/tree」のように「lab→tree」に変更すると従来のJupyterNotebook形式の表示に変更することができます。

 

ドラック&ドロップでセルを移動

 

Jupyter Labではノートブック内のセルをドラッグアンドドロップで移動させることができます。

また違うノートブック間でもセルをドラッグ&ドロップで移動できるので便利です。

セルの畳み込みができる

 

以下の画面のように、セルの左側にある青い線をクリックすることでセルの畳み込みができます。

同じノートに対して2つのビューを表示できる

これは、同じノートを2つ開いて別々に参照できるので、ノートが長い場合などに上下を同時に見たいときに便利ですね。

開いたノート名を右クリック→「New view for Notebook」を選ぶと同じファイルを別のビューで開くことができます。

Jupyter Lab拡張機能の利用

冒頭でも簡単に触れましたが、Jupyter Labには様々な拡張機能が用意されています。

Git連携、Google Drive連携などいろいろありますが、今回は個人的にも便利だと思ったGoogle Driveと連携する手順をご紹介します。

拡張機能を利用するにはNode.jsを導入する必要があります。

まずは、以下のコマンドでNode.jsをインストールします。

conda install -c conda-forge nodejs

 

途中で、「Proceed ([y]/n)? y 」のメッセージが表示されたら「」を入力します。

以下のコマンドを実行すると、インストールされたNode.jsのバージョンを確認することができます。

node -v shows

 

Win10環境の場合、管理者モードでDOSを起動してからNode.jsのインストールコマンドを実行しないと以下のエラーが発生するのでご注意ください。

 PermissionError(13, 'アクセスが拒否されました。')
Attempting to roll back.

Rolling back transaction: done

 

Googleドライブ拡張機能の追加

以下の手順でJupyter Lab上からGoogle Driveにアクセスできるように設定します。

1.Googleで認証情報を設定する

APIコンソールにアクセスして右側の「作成」ボタンを押します。

プロジェクト名を入力して「作成」ボタンを押します。

画面左上のメニューから「APIとサービス」→「認証情報」を選びます。

認証情報を作成」ボタンから「OAuthクライアントID」を選びます。

[同意画面の構成]ボタンをクリックして、以下のフォームでアプリケーション名を入力します。

AuthクライアントIDの作成画面で、アプリケーションの種類として[Webアプリケーション]を選択し、アプリケーションの名前を入力します。

また、「認証済みのJavaScript生成元」に、APIにアクセスするURLのリストを入力します
(ローカル環境で利用する場合はhttp://localhost:8888と入力しておけばOKでしょう)

作成」ボタンを押すと、クライアントID情報が表示されるのでメモっておきましょう

続いて、API Managerサイドバーで、[ライブラリ]を選択します。

ここで、Google Drive APIGoogle Picker APIの2つのAPIを有効にします。

検索画面で上記文字列を入れて、表示されたAPIをクリックして「有効にする」ボタンをぽちっと押すだけです。

ここまでが、Google側の設定です。

2.Google Drive拡張機能のインストールと設定

続いて、以下のコマンドを実行してGoogle Drive連携の拡張機能をインストールします。

jupyter labextension install @jupyterlab/google-drive

 

インストールが完了したら、以下のコマンドでgoogle-drive機能がインストールされていることを確認しておきましょう。

jupyter labextension list
JupyterLab v0.35.4
Known labextensions:
app dir: c:\django\venv\jlab\share\jupyter\lab
@jupyterlab/google-drive v0.16.0 enabled ok

 

最後にJupyter Lab側の設定です。

Jupyter Labを起動したら、「Settings」→「Advanced Settings Editor」を開きます。

画面右側の「User Overrides」の箇所で先ほど発行したGoogleのクライアントIDを指定します。

Jupyter Labの画面にGoogle Driveのアイコンが表示されるので、クリックして、「Sign IN」を押します。

ここからちょっとわかりづらかったのですが、以下の画面が表示されたら「詳細」をクリックします。

Jupyter Lab Drive Integration(安全ではないページ)へ移動」をクリックします。

許可」をクリックします。

もう1度「許可」をクリックします。

以上で、Jupyter Lab上にGoogleドライブの「マイドライブ」がマウントされます。

 

補足
Jupyter LabにマウントされたGoogle DriveからGoogle Coraboratory上で作成したノートブックをそのまま開こうとすると以下のようなエラーが発生して開けません。

 Cannot convert null or undefined to object
Object doesn't support property or method 'indexOf'

Coraboratory上で明示的に拡張子「.ipynb」をつけた形でファイル保存しておけばjupyter labから直接Google Drive上に保存してある***.ipynbを開けるようになります。

また、以下の記事で紹介しているJupyter Notebookサーバの構築ですが、起動コマンド「jupyter notebookの部分を「jupyter labに変更するだけで、Jupyter Labをブラウザのみで利用できるサーバ構築ができちゃいます。
以上、Jupyter Notebookの進化系「Jupyter Lab」の使い方に関する記事でした。
おすすめの記事