18. Jupyter Lab を使ってみよう

18.1. Jupyter Lab とは?

  • 公式サイト

    • JupyterLab is a web-based interactive development environment for Jupyter notebooks, code, and data.

    • ノート、コード、実行結果等を一つのノートにまとめることができる「インタラクティブな開発環境」。

  • Jupter Notebook vs JupyterLab

    • 厳密には異なるもの。元々はNotebookが安定版として広く使われていて、Labは拡張を含む開発版というニュアンスが強かった。特に大きな違いは「LabはNotebookを内包する次世代UI」として開発されていること。

    • 単にインタラクティブなノートとして使うだけならばNotebookでも十分。今回は拡張版であるLabを使ってみよう。


18.2. インストール

  • 2021年度学生(事前に動作確認した人は不要)

    • source ~/.venv/prog1/bin/activate

    • pip install jupyterlab

  • Minicondaの人 (2020年度学生。去年インストール済みのはず)

    • conda install -c conda-forge jupyterlab


18.3. サンプルを試してみる

  • ~/prog1/ に移動し、サンプルファイルをダウンロード。

curl -O https://ie.u-ryukyu.ac.jp/~tnal/2021/prog1/static/samples/jupyter_example.ipynb
  • JupyterLabの起動。

    • ターミナルでjupyter labを実行。自動的にブラウザが立ち上がり、コマンドを実行したディレクトリの中身が左パネルに表示される。

      • もしブラウザが自動で立ち上がらない場合には、ターミナル上に Or copy and paste one of these URLs: http://localhost:8888/?token=長い文字列 という出力があるはずなので、そのURLをコピーしよう。その後、ブラウザで新規ウィンドウか新規タブを用意し、URLを貼り付けて開こう。

      • ブラウザで「JupyterLab」タイトルが見え、実行したディレクトリの一覧が表示されてるなら、正常に起動している。これ以降はブラウザ内で操作する。

  • サンプルファイルを操作してみる。

    • ダウンロードしたファイル「jupyter_example.ipynb」を開こう。

      • Jupyterではセル(Cell)と呼ばれる論理構造でノートを編集していく。ダウンロードしたノート例は5つの「Cell」で構成されている。

        • 1つ目, 4つ目のCell: Markdown形式のテキスト。Markdown cell。

        • 2,3,5つ目のCell(灰色背景): Python3で実行可能なコード。Code cell。

    • Cellの編集

      • 編集したいCellをダブルクリック。

        • ここでは1つ目のCellを編集してみよう。

      • Cellを新しく追加するには、左上の「+」アイコンをクリック。

      • 上下の矢印アイコンで、現在選択肢ているセルの並びを変更可能。

    • Cellの実行

      • Cell単位で実行

        • 編集し終えたら「Shift + return」で実行。

          • Markdownセルなら、viewの更新。

          • Codeセルなら、コードを実行し、実行結果をセルの下に出力。

      • ファイルに含まれる全てのCellを実行

        • Cellメニューから「Run All」を選択。


18.4. ゼロから新規作成してみる

  • 全体の流れ

    • JupyterLabの起動。(起動済みならそのまま)

    • 一時的な作業用ディレクトリ ~/prog1/ に移動。(移動済みならそのまま)

    • 新規ノート test.ipynb を作成。

    • ノートを編集・実行してみる。

  • 新規ノート test.ipynb を作成。

    • 左パネル上部にある File メニューから New => Notebook を選択。

    • Select Kernel と問われたら Python 3 を選択。

    • 右パネルのタブに Untitled.ipynb と表示されたらOK。これがノートブック。

    • 左パネルから Untitled.ipynb を探し、Ctrl+クリック。サブメニュー出るので、Rename を選んで test.ipynb にファイル名を変更しよう。

  • ノートを編集・実行してみる。

  • 注意点

    • Jupyterでノートを開いてコードを実行すると、「ノート毎にPythonインタプリタを起動」している状態になります。このインタプリタは「Jupyter本体を停止する」か、「個別にインタプリタを停止」するまで起動しっぱなしになります。CPU/メモリ等のリソースを食いまくるので、不要なインタプリタは停止するようにしよう。

      • インタプリタが起動中かどうかを確認する方法

        • 左パネルファイル名の左側に緑●が付いていたら起動中。

      • インタプリタの停止方法

        • 停止させたいファイルを開き、Kernelメニューから「Shutdown」を選択。


18.5. JupyterLab を終了する

  • ブラウザはいつ閉じてもOK。ただし、ブラウザを閉じただけではJupyterは終了しません

  • jupyter lab を実行したターミナルを開き、「Ctrl+C」。

  • 終了(shutdown)するか聞いてくるので、「y」。

    • 入力無い状態が5秒続くと、自動でアプリ実行を継続するので、そうなったらまた「Ctrl+C」しよう。

Warning

ブラウザを閉じただけではJupyterは終了しない。必ずjupyter-labを起動したターミナルでプロセスを終了しよう。


18.6. ノートの例を探してみる

  • nbviewer: A simple way to share Jupyter Notebooks