目次
こんにちは。sinyです。
以前からちょっと気になっていたJupyterNotebookの進化系である「Jupyter Lab」を実際に触ってみました。
従来のJupyter Notebookにくらべるとかなり便利になっています。
また、Jupyter Labには拡張機能がいろいろあるのですが、Google Driveと連携させる機能が便利だったので設定手順などもまとめてみましたので、ぜひ、まだ利用したことがない方は使ってみてください。
JupyterLabとは?
Jupyter Lab は、Jupyter Notebook の進化系としてリリースされたものです。
従前のJupyter Notebookは一度に1画面しか表示できませんでしたが、Jupyter Labではノートブックだけではなく、ターミナル画面やテキストエディタなど複数要素の画面を同時に利用できる構成になっています。
また、npmパッケージを使って機能拡張を行うことができます。
JupyterLabの導入手順
- JupyterLabをインストールします。
pip install jupyterlab
起動するには以下のコマンドを実行します。
jupyter lab
以下のような画面が表示されればOKです。
JupyterLabの特徴
フレキシブルレイアウト
JupyterLabは通常のJupyterと違いフレキシブルレイアウトになっています。
以下のように、1画面上に様々な画面を表示できるので便利ですね。
ドラック&ドロップでセルを移動
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 」のメッセージが表示されたら「y」を入力します。
以下のコマンドを実行すると、インストールされたNode.jsのバージョンを確認することができます。
node -v shows
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 APIとGoogle 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ドライブの「マイドライブ」がマウントされます。
Object doesn't support property or method 'indexOf'
Coraboratory上で明示的に拡張子「.ipynb」をつけた形でファイル保存しておけばjupyter labから直接Google Drive上に保存してある***.ipynbを開けるようになります。