python:jupyterlab

JupyterLab - Project Jupyter の次世代ユーザーインターフェース

本家: Project Jupyter | Home
ソースコード: jupyterlab/jupyterlab: JupyterLab computational environment.
ドキュメント: Project Jupyter | Documentation

JupyterLab は Project Jupyter の次世代ユーザーインターフェースである。 柔軟で強力なユーザーインターフェイスで、クラシックな Jupyter Notebook の使い慣れたすべてのビルディングブロック(ノートブック、ターミナル、テキストエディター、ファイルブラウザー、豊富な出力など)を提供する。
Project Jupyter - Wikipedia

誰でも、どこでも、コードをすぐに再現できる JupyterLab のインタラクティブなコード実行のサンプルを、まずは、インストールしないでブラウザで試してみたいという場合は、以下のサイトにアクセスしてみると直ぐに試すことができる。

こちらでは、Python、Julia、R、C++、Scheme、Ruby がすぐに試せる実行環境をデモとともに提供してくれるのでとても便利で簡単です🥰
Project Jupyter | Try Jupyter(https://try.jupyter.org/)
mybinder.org が、内部的に自分専用に Docker コンテナを自動生成して一時的な実行環境を提供してくれます。

Try JupyterLab - Binder をクリックする。(Try Classic Notebook - Binder で Jupyter Notebook も試すことができる)

Project Jupyter | Try Jupyter 001

JupyterLab DesktopGUI 環境にデスクトップアプリとしてインストール可能な JupyterLab です。
リモートサーバーなどにインストールしてブラウザから利用したい場合は、これ以降に記載のある Python pip によるインストールが良いと思います。
2021/9/22 に JupyterLab Desktop がリリースされて、Electron ベースの JupyterLab が 利用可能になりました。
JupyterLab Desktop App now available!

最新版のダウンロード URL
Debian, Ubuntu Linux Installer (JupyterLab-Setup-Debian.deb)
Red Hat, Fedora, SUSE Linux Installer (JupyterLab-Setup-Fedora.rpm)
macOS Installer (JupyterLab-Setup-macOS.pkg)
Windows Installer (JupyterLab-Setup-Windows.exe)

Fedora でのインストール

$ sudo dnf install https://github.com/jupyterlab/jupyterlab-desktop/releases/latest/download/JupyterLab-Setup-Fedora.rpm -y

メタデータの期限切れの最終確認: 0:57:01 時間前の 2022年09月01日 03時26分22秒 に実施しました。
JupyterLab-Setup-Fedora.rpm                                                   7.4 MB/s | 302 MB     00:41    
依存関係が解決しました。
==============================================================================================================
 パッケージ                      アーキテクチャー    バージョン               リポジトリー              サイズ
==============================================================================================================
インストール:
 jupyterlab-desktop              x86_64              3.3.4_2-1                @commandline              302 M

トランザクションの概要
==============================================================================================================
インストール  1 パッケージ

合計サイズ: 302 M
インストール後のサイズ: 653 M
パッケージのダウンロード:
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                                      1/1 
  インストール中   : jupyterlab-desktop-3.3.4_2-1.x86_64                                                  1/1 
  scriptletの実行中: jupyterlab-desktop-3.3.4_2-1.x86_64                                                  1/1 
  検証             : jupyterlab-desktop-3.3.4_2-1.x86_64                                                  1/1 

インストール済み:
  jupyterlab-desktop-3.3.4_2-1.x86_64                                                                         

完了しました!

JupyterLab Desktop の起動

通常の GUI アプリと同じように JupyterLab アイコンをクリックして起動する。
JupyterLab Desktop 001

Web アプリの JupyterLab は GUI 環境でもリモートサーバー上でも同じようにインストール可能で、Web ブラウザで使用することが可能です。
JupyterLab DesktopElectron と呼ばれるフレームワークで Web アプリを GUI アプリとして実行可能にしたもので、Web アプリの JupyterLab を内蔵しています。
pipJupyterLab を Python 仮想環境にインストールする。

仮想環境を作成する。(推奨)🤤

$ python3 -m venv ~/pyJupyterLab

pyJupyterLab 仮想環境をアクティブ化する🤔

  • Linux
    $ . ~/pyJupyterLab/bin/activate
  • Windows
    $ . ~/pyJupyterLab/Scripts/activate

pip 自体を最新化する🤔

(pyJupyterLab) $ python -m pip install -U pip

Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple/
Requirement already satisfied: pip in ./pyJupyterLab/lib/python3.9/site-packages (20.3.4)
Collecting pip
  Downloading https://www.piwheels.org/simple/pip/pip-22.0.4-py3-none-any.whl (2.1 MB)
     |████████████████████████████████| 2.1 MB 105 kB/s
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 20.3.4
    Uninstalling pip-20.3.4:
      Successfully uninstalled pip-20.3.4
Successfully installed pip-22.0.4

JupyterLab をインストールする🤤

(pyJupyterLab) $ pip install jupyterlab

Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple/
Collecting jupyterlab
  Downloading https://www.piwheels.org/simple/jupyterlab/jupyterlab-3.3.2-py3-none-any.whl (8.7 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.7/8.7 MB 524.9 kB/s eta 0:00:00
Collecting packaging
  Downloading https://www.piwheels.org/simple/packaging/packaging-21.3-py3-none-any.whl (40 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 40.8/40.8 KB 236.9 kB/s eta 0:00:00
Collecting ipython
  Downloading https://www.piwheels.org/simple/ipython/ipython-8.2.0-py3-none-any.whl (750 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 750.8/750.8 KB 302.6 kB/s eta 0:00:00
Collecting jupyterlab-server~=2.10
  Downloading https://www.piwheels.org/simple/jupyterlab-server/jupyterlab_server-2.12.0-py3-none-any.whl (53 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 53.5/53.5 KB 417.8 kB/s eta 0:00:00
Collecting jinja2>=2.1
  Downloading https://www.piwheels.org/simple/jinja2/Jinja2-3.1.1-py3-none-any.whl (132 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 132.6/132.6 KB 250.2 kB/s eta 0:00:00
Collecting tornado>=6.1.0
  Downloading https://www.piwheels.org/simple/tornado/tornado-6.1-cp39-cp39-linux_armv6l.whl (421 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 421.8/421.8 KB 443.4 kB/s eta 0:00:00
Collecting jupyter-server~=1.4
  Downloading https://www.piwheels.org/simple/jupyter-server/jupyter_server-1.16.0-py3-none-any.whl (343 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 343.1/343.1 KB 282.4 kB/s eta 0:00:00
Collecting nbclassic~=0.2
  Downloading https://www.piwheels.org/simple/nbclassic/nbclassic-0.3.7-py3-none-any.whl (13 kB)
Collecting jupyter-core
  Downloading https://www.piwheels.org/simple/jupyter-core/jupyter_core-4.9.2-py3-none-any.whl (86 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 86.9/86.9 KB 227.0 kB/s eta 0:00:00
Collecting MarkupSafe>=2.0
  Downloading https://www.piwheels.org/simple/markupsafe/MarkupSafe-2.1.1-cp39-cp39-linux_armv6l.whl (23 kB)
Collecting traitlets>=5.1.0
  Downloading https://www.piwheels.org/simple/traitlets/traitlets-5.1.1-py3-none-any.whl (102 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 102.0/102.0 KB 163.5 kB/s eta 0:00:00
Collecting prometheus-client
  Downloading https://www.piwheels.org/simple/prometheus-client/prometheus_client-0.14.0-py3-none-any.whl (59 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 59.4/59.4 KB 679.7 kB/s eta 0:00:00
Collecting terminado>=0.8.3
  Downloading https://www.piwheels.org/simple/terminado/terminado-0.13.3-py3-none-any.whl (14 kB)
Collecting Send2Trash
  Downloading https://www.piwheels.org/simple/send2trash/Send2Trash-1.8.0-py3-none-any.whl (20 kB)
Collecting anyio>=3.1.0
  Downloading https://www.piwheels.org/simple/anyio/anyio-3.5.0-py3-none-any.whl (79 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 79.2/79.2 KB 32.4 kB/s eta 0:00:00
Collecting pyzmq>=17
  Downloading https://www.piwheels.org/simple/pyzmq/pyzmq-22.3.0-cp39-cp39-linux_armv6l.whl (6.8 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.8/6.8 MB 412.8 kB/s eta 0:00:00
Collecting nbconvert>=6.4.4
  Downloading https://www.piwheels.org/simple/nbconvert/nbconvert-6.4.5-py3-none-any.whl (561 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 561.4/561.4 KB 455.0 kB/s eta 0:00:00
Collecting nbformat>=5.2.0
  Downloading https://www.piwheels.org/simple/nbformat/nbformat-5.3.0-py3-none-any.whl (73 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 73.2/73.2 KB 348.0 kB/s eta 0:00:00
Collecting jupyter-client>=6.1.12
  Downloading https://www.piwheels.org/simple/jupyter-client/jupyter_client-7.2.1-py3-none-any.whl (130 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 130.4/130.4 KB 175.1 kB/s eta 0:00:00
Collecting websocket-client
  Downloading https://www.piwheels.org/simple/websocket-client/websocket_client-1.3.2-py3-none-any.whl (54 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 54.3/54.3 KB 417.2 kB/s eta 0:00:00
Collecting argon2-cffi
  Downloading https://www.piwheels.org/simple/argon2-cffi/argon2_cffi-21.3.0-py3-none-any.whl (14 kB)
Collecting jsonschema>=3.0.1
  Downloading https://www.piwheels.org/simple/jsonschema/jsonschema-4.4.0-py3-none-any.whl (72 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 72.7/72.7 KB 221.4 kB/s eta 0:00:00
Collecting json5
  Downloading https://www.piwheels.org/simple/json5/json5-0.9.6-py2.py3-none-any.whl (18 kB)
Collecting entrypoints>=0.2.2
  Downloading https://www.piwheels.org/simple/entrypoints/entrypoints-0.4-py3-none-any.whl (5.3 kB)
Collecting babel
  Downloading https://www.piwheels.org/simple/babel/Babel-2.9.1-py2.py3-none-any.whl (8.8 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.8/8.8 MB 335.9 kB/s eta 0:00:00
Collecting requests
  Downloading https://www.piwheels.org/simple/requests/requests-2.27.1-py2.py3-none-any.whl (63 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 63.1/63.1 KB 186.8 kB/s eta 0:00:00
Collecting notebook-shim>=0.1.0
  Downloading https://www.piwheels.org/simple/notebook-shim/notebook_shim-0.1.0-py3-none-any.whl (13 kB)
Collecting notebook<7
  Downloading https://www.piwheels.org/simple/notebook/notebook-6.4.10-py3-none-any.whl (9.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.9/9.9 MB 976.1 kB/s eta 0:00:00
Collecting stack-data
  Downloading https://www.piwheels.org/simple/stack-data/stack_data-0.2.0-py3-none-any.whl (21 kB)
Collecting jedi>=0.16
  Downloading https://www.piwheels.org/simple/jedi/jedi-0.18.1-py2.py3-none-any.whl (1.6 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.6/1.6 MB 548.1 kB/s eta 0:00:00
Collecting pexpect>4.3
  Downloading https://www.piwheels.org/simple/pexpect/pexpect-4.8.0-py2.py3-none-any.whl (59 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 59.0/59.0 KB 198.0 kB/s eta 0:00:00
Collecting decorator
  Downloading https://www.piwheels.org/simple/decorator/decorator-5.1.1-py3-none-any.whl (10 kB)
Collecting backcall
  Downloading https://www.piwheels.org/simple/backcall/backcall-0.2.0-py2.py3-none-any.whl (11 kB)
Collecting pickleshare
  Downloading https://www.piwheels.org/simple/pickleshare/pickleshare-0.7.5-py2.py3-none-any.whl (6.9 kB)
Collecting setuptools>=18.5
  Downloading https://www.piwheels.org/simple/setuptools/setuptools-62.0.0-py3-none-any.whl (1.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 750.0 kB/s eta 0:00:00
Collecting pygments>=2.4.0
  Downloading https://www.piwheels.org/simple/pygments/Pygments-2.11.2-py3-none-any.whl (1.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 719.0 kB/s eta 0:00:00
Collecting prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0
  Downloading https://www.piwheels.org/simple/prompt-toolkit/prompt_toolkit-3.0.29-py3-none-any.whl (381 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 381.5/381.5 KB 411.7 kB/s eta 0:00:00
Collecting matplotlib-inline
  Downloading https://www.piwheels.org/simple/matplotlib-inline/matplotlib_inline-0.1.3-py3-none-any.whl (9.1 kB)
Collecting pyparsing!=3.0.5,>=2.0.2
  Downloading https://www.piwheels.org/simple/pyparsing/pyparsing-3.0.7-py3-none-any.whl (98 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 98.1/98.1 KB 368.1 kB/s eta 0:00:00
Collecting idna>=2.8
  Downloading https://www.piwheels.org/simple/idna/idna-3.3-py3-none-any.whl (64 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 64.5/64.5 KB 211.9 kB/s eta 0:00:00
Collecting sniffio>=1.1
  Downloading https://www.piwheels.org/simple/sniffio/sniffio-1.2.0-py3-none-any.whl (10 kB)
Collecting parso<0.9.0,>=0.8.0
  Downloading https://www.piwheels.org/simple/parso/parso-0.8.3-py2.py3-none-any.whl (100 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100.7/100.7 KB 260.7 kB/s eta 0:00:00
Collecting pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0
  Downloading https://www.piwheels.org/simple/pyrsistent/pyrsistent-0.18.1-cp39-cp39-linux_armv6l.whl (101 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 101.3/101.3 KB 193.3 kB/s eta 0:00:00
Collecting attrs>=17.4.0
  Downloading https://www.piwheels.org/simple/attrs/attrs-21.4.0-py2.py3-none-any.whl (60 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 60.5/60.5 KB 208.8 kB/s eta 0:00:00
Collecting nest-asyncio>=1.5.4
  Downloading https://www.piwheels.org/simple/nest-asyncio/nest_asyncio-1.5.5-py3-none-any.whl (5.2 kB)
Collecting python-dateutil>=2.8.2
  Downloading https://www.piwheels.org/simple/python-dateutil/python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 247.7/247.7 KB 309.8 kB/s eta 0:00:00
Collecting defusedxml
  Downloading https://www.piwheels.org/simple/defusedxml/defusedxml-0.7.1-py2.py3-none-any.whl (25 kB)
Collecting testpath
  Downloading https://www.piwheels.org/simple/testpath/testpath-0.6.0-py3-none-any.whl (83 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 83.9/83.9 KB 424.5 kB/s eta 0:00:00
Collecting pandocfilters>=1.4.1
  Downloading https://www.piwheels.org/simple/pandocfilters/pandocfilters-1.5.0-py2.py3-none-any.whl (11 kB)
Collecting jupyterlab-pygments
  Downloading https://www.piwheels.org/simple/jupyterlab-pygments/jupyterlab_pygments-0.1.2-py2.py3-none-any.whl (4.6 kB)
Collecting beautifulsoup4
  Downloading https://www.piwheels.org/simple/beautifulsoup4/beautifulsoup4-4.10.0-py3-none-any.whl (96 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 96.2/96.2 KB 184.7 kB/s eta 0:00:00
Collecting bleach
  Downloading https://www.piwheels.org/simple/bleach/bleach-4.1.0-py2.py3-none-any.whl (157 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 158.0/158.0 KB 240.9 kB/s eta 0:00:00
Collecting nbclient<0.6.0,>=0.5.0
  Downloading https://www.piwheels.org/simple/nbclient/nbclient-0.5.13-py3-none-any.whl (70 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 70.6/70.6 KB 152.8 kB/s eta 0:00:00
Collecting mistune<2,>=0.8.1
  Downloading https://www.piwheels.org/simple/mistune/mistune-0.8.4-py2.py3-none-any.whl (16 kB)
Collecting fastjsonschema
  Downloading https://www.piwheels.org/simple/fastjsonschema/fastjsonschema-2.15.3-py3-none-any.whl (22 kB)
Collecting ipython-genutils
  Downloading https://www.piwheels.org/simple/ipython-genutils/ipython_genutils-0.2.0-py2.py3-none-any.whl (26 kB)
Collecting ipykernel
  Downloading https://www.piwheels.org/simple/ipykernel/ipykernel-6.12.1-py3-none-any.whl (130 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 130.9/130.9 KB 251.4 kB/s eta 0:00:00
Collecting ptyprocess>=0.5
  Downloading https://www.piwheels.org/simple/ptyprocess/ptyprocess-0.7.0-py2.py3-none-any.whl (13 kB)
Collecting wcwidth
  Downloading https://www.piwheels.org/simple/wcwidth/wcwidth-0.2.5-py2.py3-none-any.whl (30 kB)
Collecting argon2-cffi-bindings
  Downloading https://www.piwheels.org/simple/argon2-cffi-bindings/argon2_cffi_bindings-21.2.0-cp39-abi3-linux_armv6l.whl (80 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 80.3/80.3 KB 290.9 kB/s eta 0:00:00
Collecting pytz>=2015.7
  Downloading https://www.piwheels.org/simple/pytz/pytz-2022.1-py3-none-any.whl (511 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 511.2/511.2 KB 477.8 kB/s eta 0:00:00
Collecting urllib3<1.27,>=1.21.1
  Downloading https://www.piwheels.org/simple/urllib3/urllib3-1.26.9-py2.py3-none-any.whl (155 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 155.9/155.9 KB 251.8 kB/s eta 0:00:00
Collecting charset-normalizer~=2.0.0
  Downloading https://www.piwheels.org/simple/charset-normalizer/charset_normalizer-2.0.12-py3-none-any.whl (44 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 44.2/44.2 KB 386.3 kB/s eta 0:00:00
Collecting certifi>=2017.4.17
  Downloading https://www.piwheels.org/simple/certifi/certifi-2021.10.8-py2.py3-none-any.whl (151 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 151.0/151.0 KB 211.5 kB/s eta 0:00:00
Collecting executing
  Downloading https://www.piwheels.org/simple/executing/executing-0.8.3-py2.py3-none-any.whl (16 kB)
Collecting asttokens
  Downloading https://www.piwheels.org/simple/asttokens/asttokens-2.0.5-py2.py3-none-any.whl (20 kB)
Collecting pure-eval
  Downloading https://www.piwheels.org/simple/pure-eval/pure_eval-0.2.2-py3-none-any.whl (11 kB)
Collecting six>=1.5
  Downloading https://www.piwheels.org/simple/six/six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting cffi>=1.0.1
  Downloading https://www.piwheels.org/simple/cffi/cffi-1.15.0-cp39-cp39-linux_armv6l.whl (369 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 369.6/369.6 KB 473.2 kB/s eta 0:00:00
Collecting soupsieve>1.2
  Downloading https://www.piwheels.org/simple/soupsieve/soupsieve-2.3.2-py3-none-any.whl (37 kB)
Collecting webencodings
  Downloading https://www.piwheels.org/simple/webencodings/webencodings-0.5.1-py2.py3-none-any.whl (11 kB)
Collecting debugpy>=1.0
  Downloading https://www.piwheels.org/simple/debugpy/debugpy-1.6.0-cp39-cp39-linux_armv6l.whl (2.9 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.9/2.9 MB 698.4 kB/s eta 0:00:00
Collecting psutil
  Downloading https://www.piwheels.org/simple/psutil/psutil-5.9.0-cp39-cp39-linux_armv6l.whl (278 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 278.5/278.5 KB 404.5 kB/s eta 0:00:00
WARNING: Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'ProtocolError('Connection aborted.', RemoteDisconnected('Remote end closed connection without response'))': /simple/pycparser/
Collecting pycparser
  Downloading https://www.piwheels.org/simple/pycparser/pycparser-2.21-py2.py3-none-any.whl (119 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 119.7/119.7 KB 234.1 kB/s eta 0:00:00
Installing collected packages: webencodings, wcwidth, Send2Trash, pytz, pure-eval, ptyprocess, pickleshare, mistune, json5, ipython-genutils, fastjsonschema, executing, certifi, backcall, websocket-client, urllib3, traitlets, tornado, testpath, soupsieve, sniffio, six, setuptools, pyzmq, pyrsistent, pyparsing, pygments, pycparser, psutil, prompt-toolkit, prometheus-client, pexpect, parso, pandocfilters, nest-asyncio, MarkupSafe, idna, entrypoints, defusedxml, decorator, debugpy, charset-normalizer, babel, attrs, terminado, requests, python-dateutil, packaging, matplotlib-inline, jupyterlab-pygments, jupyter-core, jsonschema, jinja2, jedi, cffi, beautifulsoup4, asttokens, anyio, stack-data, nbformat, jupyter-client, bleach, argon2-cffi-bindings, nbclient, ipython, argon2-cffi, nbconvert, ipykernel, notebook, jupyter-server, notebook-shim, jupyterlab-server, nbclassic, jupyterlab
Successfully installed MarkupSafe-2.1.1 Send2Trash-1.8.0 anyio-3.5.0 argon2-cffi-21.3.0 argon2-cffi-bindings-21.2.0 asttokens-2.0.5 attrs-21.4.0 babel-2.9.1 backcall-0.2.0 beautifulsoup4-4.10.0 bleach-4.1.0 certifi-2021.10.8 cffi-1.15.0 charset-normalizer-2.0.12 debugpy-1.6.0 decorator-5.1.1 defusedxml-0.7.1 entrypoints-0.4 executing-0.8.3 fastjsonschema-2.15.3 idna-3.3 ipykernel-6.12.1 ipython-8.2.0 ipython-genutils-0.2.0 jedi-0.18.1 jinja2-3.1.1 json5-0.9.6 jsonschema-4.4.0 jupyter-client-7.2.1 jupyter-core-4.9.2 jupyter-server-1.16.0 jupyterlab-3.3.2 jupyterlab-pygments-0.1.2 jupyterlab-server-2.12.0 matplotlib-inline-0.1.3 mistune-0.8.4 nbclassic-0.3.7 nbclient-0.5.13 nbconvert-6.4.5 nbformat-5.3.0 nest-asyncio-1.5.5 notebook-6.4.10 notebook-shim-0.1.0 packaging-21.3 pandocfilters-1.5.0 parso-0.8.3 pexpect-4.8.0 pickleshare-0.7.5 prometheus-client-0.14.0 prompt-toolkit-3.0.29 psutil-5.9.0 ptyprocess-0.7.0 pure-eval-0.2.2 pycparser-2.21 pygments-2.11.2 pyparsing-3.0.7 pyrsistent-0.18.1 python-dateutil-2.8.2 pytz-2022.1 pyzmq-22.3.0 requests-2.27.1 setuptools-62.0.0 six-1.16.0 sniffio-1.2.0 soupsieve-2.3.2 stack-data-0.2.0 terminado-0.13.3 testpath-0.6.0 tornado-6.1 traitlets-5.1.1 urllib3-1.26.9 wcwidth-0.2.5 webencodings-0.5.1 websocket-client-1.3.2

Voila をインストールする🤤

(pyJupyterLab) $ pip install voila

Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple/
Collecting voila
  Downloading https://www.piwheels.org/simple/voila/voila-0.3.5-py3-none-any.whl (1.7 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7/1.7 MB 551.0 kB/s eta 0:00:00
Requirement already satisfied: traitlets<6,>=5.0.3 in ./pyJupyterLab/lib/python3.9/site-packages (from voila) (5.1.1)
Requirement already satisfied: jupyterlab-server<3,>=2.3.0 in ./pyJupyterLab/lib/python3.9/site-packages (from voila) (2.12.0)
Requirement already satisfied: jupyter-server<2.0.0,>=0.3.0 in ./pyJupyterLab/lib/python3.9/site-packages (from voila) (1.16.0)
Collecting websockets>=9.0
  Downloading https://www.piwheels.org/simple/websockets/websockets-10.2-cp39-cp39-linux_armv6l.whl (103 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 103.6/103.6 KB 261.9 kB/s eta 0:00:00
Requirement already satisfied: nbclient<0.6,>=0.4.0 in ./pyJupyterLab/lib/python3.9/site-packages (from voila) (0.5.13)
Requirement already satisfied: nbconvert<7,>=6.4.5 in ./pyJupyterLab/lib/python3.9/site-packages (from voila) (6.4.5)
Requirement already satisfied: jupyter-client<8,>=6.1.3 in ./pyJupyterLab/lib/python3.9/site-packages (from voila) (7.2.1)
Requirement already satisfied: nest-asyncio>=1.5.4 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-client<8,>=6.1.3->voila) (1.5.5)
Requirement already satisfied: jupyter-core>=4.9.2 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-client<8,>=6.1.3->voila) (4.9.2)
Requirement already satisfied: python-dateutil>=2.8.2 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-client<8,>=6.1.3->voila) (2.8.2)
Requirement already satisfied: entrypoints in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-client<8,>=6.1.3->voila) (0.4)
Requirement already satisfied: pyzmq>=22.3 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-client<8,>=6.1.3->voila) (22.3.0)
Requirement already satisfied: tornado>=6.0 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-client<8,>=6.1.3->voila) (6.1)
Requirement already satisfied: packaging in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server<2.0.0,>=0.3.0->voila) (21.3)
Requirement already satisfied: terminado>=0.8.3 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server<2.0.0,>=0.3.0->voila) (0.13.3)
Requirement already satisfied: nbformat>=5.2.0 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server<2.0.0,>=0.3.0->voila) (5.3.0)
Requirement already satisfied: jinja2 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server<2.0.0,>=0.3.0->voila) (3.1.1)
Requirement already satisfied: websocket-client in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server<2.0.0,>=0.3.0->voila) (1.3.2)
Requirement already satisfied: Send2Trash in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server<2.0.0,>=0.3.0->voila) (1.8.0)
Requirement already satisfied: anyio>=3.1.0 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server<2.0.0,>=0.3.0->voila) (3.5.0)
Requirement already satisfied: prometheus-client in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server<2.0.0,>=0.3.0->voila) (0.14.0)
Requirement already satisfied: argon2-cffi in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server<2.0.0,>=0.3.0->voila) (21.3.0)
Requirement already satisfied: jsonschema>=3.0.1 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab-server<3,>=2.3.0->voila) (4.4.0)
Requirement already satisfied: json5 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab-server<3,>=2.3.0->voila) (0.9.6)
Requirement already satisfied: requests in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab-server<3,>=2.3.0->voila) (2.27.1)
Requirement already satisfied: babel in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab-server<3,>=2.3.0->voila) (2.9.1)
Requirement already satisfied: testpath in ./pyJupyterLab/lib/python3.9/site-packages (from nbconvert<7,>=6.4.5->voila) (0.6.0)
Requirement already satisfied: beautifulsoup4 in ./pyJupyterLab/lib/python3.9/site-packages (from nbconvert<7,>=6.4.5->voila) (4.10.0)
Requirement already satisfied: bleach in ./pyJupyterLab/lib/python3.9/site-packages (from nbconvert<7,>=6.4.5->voila) (4.1.0)
Requirement already satisfied: pygments>=2.4.1 in ./pyJupyterLab/lib/python3.9/site-packages (from nbconvert<7,>=6.4.5->voila) (2.11.2)
Requirement already satisfied: jupyterlab-pygments in ./pyJupyterLab/lib/python3.9/site-packages (from nbconvert<7,>=6.4.5->voila) (0.1.2)
Requirement already satisfied: defusedxml in ./pyJupyterLab/lib/python3.9/site-packages (from nbconvert<7,>=6.4.5->voila) (0.7.1)
Requirement already satisfied: MarkupSafe>=2.0 in ./pyJupyterLab/lib/python3.9/site-packages (from nbconvert<7,>=6.4.5->voila) (2.1.1)
Requirement already satisfied: mistune<2,>=0.8.1 in ./pyJupyterLab/lib/python3.9/site-packages (from nbconvert<7,>=6.4.5->voila) (0.8.4)
Requirement already satisfied: pandocfilters>=1.4.1 in ./pyJupyterLab/lib/python3.9/site-packages (from nbconvert<7,>=6.4.5->voila) (1.5.0)
Requirement already satisfied: idna>=2.8 in ./pyJupyterLab/lib/python3.9/site-packages (from anyio>=3.1.0->jupyter-server<2.0.0,>=0.3.0->voila) (3.3)
Requirement already satisfied: sniffio>=1.1 in ./pyJupyterLab/lib/python3.9/site-packages (from anyio>=3.1.0->jupyter-server<2.0.0,>=0.3.0->voila) (1.2.0)
Requirement already satisfied: attrs>=17.4.0 in ./pyJupyterLab/lib/python3.9/site-packages (from jsonschema>=3.0.1->jupyterlab-server<3,>=2.3.0->voila) (21.4.0)
Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in ./pyJupyterLab/lib/python3.9/site-packages (from jsonschema>=3.0.1->jupyterlab-server<3,>=2.3.0->voila) (0.18.1)
Requirement already satisfied: fastjsonschema in ./pyJupyterLab/lib/python3.9/site-packages (from nbformat>=5.2.0->jupyter-server<2.0.0,>=0.3.0->voila) (2.15.3)
Requirement already satisfied: six>=1.5 in ./pyJupyterLab/lib/python3.9/site-packages (from python-dateutil>=2.8.2->jupyter-client<8,>=6.1.3->voila) (1.16.0)
Requirement already satisfied: ptyprocess in ./pyJupyterLab/lib/python3.9/site-packages (from terminado>=0.8.3->jupyter-server<2.0.0,>=0.3.0->voila) (0.7.0)
Requirement already satisfied: argon2-cffi-bindings in ./pyJupyterLab/lib/python3.9/site-packages (from argon2-cffi->jupyter-server<2.0.0,>=0.3.0->voila) (21.2.0)
Requirement already satisfied: pytz>=2015.7 in ./pyJupyterLab/lib/python3.9/site-packages (from babel->jupyterlab-server<3,>=2.3.0->voila) (2022.1)
Requirement already satisfied: soupsieve>1.2 in ./pyJupyterLab/lib/python3.9/site-packages (from beautifulsoup4->nbconvert<7,>=6.4.5->voila) (2.3.2)
Requirement already satisfied: webencodings in ./pyJupyterLab/lib/python3.9/site-packages (from bleach->nbconvert<7,>=6.4.5->voila) (0.5.1)
Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in ./pyJupyterLab/lib/python3.9/site-packages (from packaging->jupyter-server<2.0.0,>=0.3.0->voila) (3.0.7)
Requirement already satisfied: certifi>=2017.4.17 in ./pyJupyterLab/lib/python3.9/site-packages (from requests->jupyterlab-server<3,>=2.3.0->voila) (2021.10.8)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in ./pyJupyterLab/lib/python3.9/site-packages (from requests->jupyterlab-server<3,>=2.3.0->voila) (1.26.9)
Requirement already satisfied: charset-normalizer~=2.0.0 in ./pyJupyterLab/lib/python3.9/site-packages (from requests->jupyterlab-server<3,>=2.3.0->voila) (2.0.12)
Requirement already satisfied: cffi>=1.0.1 in ./pyJupyterLab/lib/python3.9/site-packages (from argon2-cffi-bindings->argon2-cffi->jupyter-server<2.0.0,>=0.3.0->voila) (1.15.0)
Requirement already satisfied: pycparser in ./pyJupyterLab/lib/python3.9/site-packages (from cffi>=1.0.1->argon2-cffi-bindings->argon2-cffi->jupyter-server<2.0.0,>=0.3.0->voila) (2.21)
Installing collected packages: websockets, voila
Successfully installed voila-0.3.5 websockets-10.2

jupyterlab-language-pack-ja-JP をインストールする🤤

(pyJupyterLab) $ pip install jupyterlab-language-pack-ja-JP

Collecting jupyterlab-language-pack-ja-JP
  Downloading jupyterlab_language_pack_ja_JP-3.4.post4-py2.py3-none-any.whl (47 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 47.3/47.3 kB 1.7 MB/s eta 0:00:00
Installing collected packages: jupyterlab-language-pack-ja-JP
Successfully installed jupyterlab-language-pack-ja-JP-3.4.post4

JupyterLab のログインパスワードを設定する。(設定されていないと毎回起動時にパスワードが変わる)

(pyJupyterLab) $ jupyter server password

Enter password:
Verify password:
[JupyterPasswordApp] Wrote hashed password to /home/tomoyan/.jupyter/jupyter_server_config.json

起動コマンド 説明
$ jupyter notebook Jupyter Notebook を起動。
$ jupyter lab JupyterLab を起動。
$ jupyter lab --no-browser JupyterLab をリモートやヘッドレスマシンなどでブラウザなしで起動。
$ jupyter lab --ip=0.0.0.0 --no-browser JupyterLab をヘッドレスマシンなどで外部アクセスを許可して起動。
(pyJupyterLab) $ jupyter notebook
(pyJupyterLab) $ jupyter lab
(pyJupyterLab) $ jupyter lab --no-browser
(pyJupyterLab) $ jupyter lab --ip=0.0.0.0 --no-browser

仮想環境を終了する場合は $ deactivate を実行する。

(pyJupyterLab) $ deactivate
$ 

JupyterLab 起動用スクリプト exec_jupyterlab.sh を作成して、実行可能に設定しておく🤤

$ cat << EOF > exec_jupyterlab.sh

#!/usr/bin/env bash
. ~/pyJupyterLab/bin/activate
jupyter lab --ip=0.0.0.0 --no-browser
deactivate
EOF

$ chmod +x exec_jupyterlab.sh


次回からは簡単に起動可能になる😻

$ ./exec_jupyterlab.sh

[I 2022-09-13 02:02:55.267 ServerApp] jupyterlab | extension was successfully linked.
[I 2022-09-13 02:02:55.283 ServerApp] nbclassic | extension was successfully linked.
[I 2022-09-13 02:02:55.285 ServerApp] Writing Jupyter server cookie secret to /home/tomoyan/.local/share/jupyter/runtime/jupyter_cookie_secret
[I 2022-09-13 02:02:55.656 ServerApp] notebook_shim | extension was successfully linked.
[I 2022-09-13 02:02:55.656 ServerApp] voila.server_extension | extension was successfully linked.
[I 2022-09-13 02:02:55.682 ServerApp] notebook_shim | extension was successfully loaded.
[I 2022-09-13 02:02:55.684 LabApp] JupyterLab extension loaded from /home/tomoyan/pyJupyterLab/lib64/python3.10/site-packages/jupyterlab
[I 2022-09-13 02:02:55.684 LabApp] JupyterLab application directory is /home/tomoyan/pyJupyterLab/share/jupyter/lab
[I 2022-09-13 02:02:55.689 ServerApp] jupyterlab | extension was successfully loaded.
[I 2022-09-13 02:02:55.726 ServerApp] nbclassic | extension was successfully loaded.
[I 2022-09-13 02:02:55.730 ServerApp] voila.server_extension | extension was successfully loaded.
[I 2022-09-13 02:02:55.730 ServerApp] ローカルディレクトリからノートブックをサーブ: /home/tomoyan
[I 2022-09-13 02:02:55.730 ServerApp] Jupyter Server 1.18.1 is running at:
[I 2022-09-13 02:02:55.730 ServerApp] http://WICKED-BEAT:8888/lab
[I 2022-09-13 02:02:55.730 ServerApp]  or http://127.0.0.1:8888/lab
[I 2022-09-13 02:02:55.731 ServerApp] サーバを停止し全てのカーネルをシャットダウンするには Control-C を使って
下さい(確認をスキップするには2回)。

JupyterLab のすべての設定は、メニュー [Settings]-[Advanced Settings Editor] を開いて System DefaultsUser Preferences で上書きすることで可能です。
設定はユーザー セッティング ディレクトリに保存され、標準の保存場所は $HOME/.jupyter/lab/user-settings/ です。(標準の保管場所を理解していれば、他の環境に設定のコピーが可能になり、毎回設定する手間が省けます)
Advanced Usage - JupyterLab User Settings Directory — JupyterLab 3.2.4 documentation より

ローカル → リモート

$ rsync -avP -e ssh $HOME/.jupyter/lab/user-settings/ pi@192.168.0.200:/home/dietpi/.jupyter/lab/user-settings/

pi@192.168.0.200's password:
bash: warning: setlocale: LC_ALL: cannot change locale (ja_JP.UTF-8)
sending incremental file list
created directory /home/dietpi/.jupyter/lab/user-settings
./
@jupyterlab/
@jupyterlab/apputils-extension/
@jupyterlab/apputils-extension/themes.jupyterlab-settings
            237 100%    0.00kB/s    0:00:00 (xfr#1, to-chk=4/12)
@jupyterlab/extensionmanager-extension/
@jupyterlab/extensionmanager-extension/plugin.jupyterlab-settings
            341 100%   83.25kB/s    0:00:00 (xfr#2, to-chk=3/12)
@jupyterlab/notebook-extension/
@jupyterlab/notebook-extension/tracker.jupyterlab-settings
             62 100%    8.65kB/s    0:00:00 (xfr#3, to-chk=2/12)
@jupyterlab/shortcuts-extension/
@jupyterlab/shortcuts-extension/shortcuts.jupyterlab-settings
            199 100%   16.19kB/s    0:00:00 (xfr#4, to-chk=1/12)
@jupyterlab/translation-extension/
@jupyterlab/translation-extension/plugin.jupyterlab-settings
             26 100%    1.59kB/s    0:00:00 (xfr#5, to-chk=0/12)

sent 1,723 bytes  received 204 bytes  142.74 bytes/sec
total size is 865  speedup is 0.45

テーマを Dark にする
メニュー: - [Settings]-[Theme]-[JupyterLab Dark]
Advanced Settings Editor: - [Theme]
User Preferences
{
    // Theme
    // @jupyterlab/apputils-extension:themes
    // Theme manager settings.
    // *************************************
 
    // Selected Theme
    // Application-level visual styling theme
    "theme": "JupyterLab Dark",
}
テーマのフォントを指定する
OS にフォントをインストールする場合は以下を参照🤔
フォント(Linux)
フォント(Windows)
Advanced Settings Editor: - [Theme]
User Preferences
{
    // Theme
    // @jupyterlab/apputils-extension:themes
    // Theme manager settings.
    // *************************************
 
    // Selected Theme
    // Application-level visual styling theme
    "overrides": {
        "code-font-family": "HackGen Console NFJ",
        "code-font-size": "10px",
        "content-font-family": "HackGen35 Console NFJ",
        "content-font-size1": "11px",
        "ui-font-family": "HackGen35 Console NFJ",
        "ui-font-size1": "11px"
    },
}

Advanced Settings Editor: - [Notebook]

User Preferences
{
    // Notebook
    // @jupyterlab/notebook-extension:tracker
    // Notebook settings.
    // **************************************
 
    // Code Cell Configuration
    // The configuration for all code cells.
    "codeCellConfig": {
        "lineNumbers": true
    }
}

pyJupyterLab 仮想環境をアクティブ化する。

$ . pyJupyterLab/bin/activate

or

$ . pyJupyterLab/Scripts/activate

pip 自体を最新化して JupyterLabVoila を更新する。

(pyJupyterLab) $ python -m pip install -U pip

Requirement already satisfied: pip in ./pyJupyterLab/lib/python3.9/site-packages (21.3)
Collecting pip
  Downloading pip-22.0.4-py3-none-any.whl (2.1 MB)
     |████████████████████████████████| 2.1 MB 3.2 MB/s
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 21.3
    Uninstalling pip-21.3:
      Successfully uninstalled pip-21.3
Successfully installed pip-22.0.4

(pyJupyterLab) $ pip install -U jupyterlab

Requirement already satisfied: jupyterlab in ./pyJupyterLab/lib/python3.9/site-packages (3.2.0)
Collecting jupyterlab
  Downloading jupyterlab-3.3.3-py3-none-any.whl (8.7 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 8.7/8.7 MB 10.9 MB/s eta 0:00:00
Requirement already satisfied: ipython in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab) (7.25.0)
Requirement already satisfied: tornado>=6.1.0 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab) (6.1)
Requirement already satisfied: packaging in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab) (21.0)
Requirement already satisfied: jupyter-server~=1.4 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab) (1.9.0)
Requirement already satisfied: jupyter-core in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab) (4.7.1)
Requirement already satisfied: jinja2>=2.1 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab) (3.0.1)
Collecting jupyterlab-server~=2.10
  Downloading jupyterlab_server-2.12.0-py3-none-any.whl (53 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 53.5/53.5 KB 11.9 MB/s eta 0:00:00
Requirement already satisfied: nbclassic~=0.2 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab) (0.3.1)
Requirement already satisfied: MarkupSafe>=2.0 in ./pyJupyterLab/lib/python3.9/site-packages (from jinja2>=2.1->jupyterlab) (2.0.1)
Requirement already satisfied: anyio<4,>=3.1.0 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server~=1.4->jupyterlab) (3.2.1)
Requirement already satisfied: jupyter-client>=6.1.1 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server~=1.4->jupyterlab) (6.1.12)
Requirement already satisfied: nbconvert in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server~=1.4->jupyterlab) (6.1.0)
Requirement already satisfied: Send2Trash in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server~=1.4->jupyterlab) (1.7.1)
Requirement already satisfied: traitlets>=4.2.1 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server~=1.4->jupyterlab) (5.0.5)
Requirement already satisfied: websocket-client in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server~=1.4->jupyterlab) (1.1.0)
Requirement already satisfied: terminado>=0.8.3 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server~=1.4->jupyterlab) (0.10.1)
Requirement already satisfied: ipython-genutils in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server~=1.4->jupyterlab) (0.2.0)
Requirement already satisfied: prometheus-client in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server~=1.4->jupyterlab) (0.11.0)
Requirement already satisfied: requests-unixsocket in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server~=1.4->jupyterlab) (0.2.0)
Requirement already satisfied: argon2-cffi in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server~=1.4->jupyterlab) (20.1.0)
Requirement already satisfied: pyzmq>=17 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server~=1.4->jupyterlab) (22.1.0)
Requirement already satisfied: nbformat in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server~=1.4->jupyterlab) (5.1.3)
Requirement already satisfied: requests in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab-server~=2.10->jupyterlab) (2.25.1)
Requirement already satisfied: json5 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab-server~=2.10->jupyterlab) (0.9.6)
Collecting jinja2>=2.1
  Downloading Jinja2-3.1.1-py3-none-any.whl (132 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 132.6/132.6 KB 11.7 MB/s eta 0:00:00
Requirement already satisfied: jsonschema>=3.0.1 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab-server~=2.10->jupyterlab) (3.2.0)
Requirement already satisfied: entrypoints>=0.2.2 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab-server~=2.10->jupyterlab) (0.3)
Requirement already satisfied: babel in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab-server~=2.10->jupyterlab) (2.9.1)
Requirement already satisfied: notebook<7 in .pyjupyterlablibpython3.9site-packages (from nbclassic~=0.2->jupyterlab) (6.4.0)
Requirement already satisfied: setuptools>=18.5 in ./pyJupyterLab/lib/python3.9/site-packages (from ipython->jupyterlab) (53.0.0)
Requirement already satisfied: jedi>=0.16 in ./pyJupyterLab/lib/python3.9/site-packages (from ipython->jupyterlab) (0.18.0)
Requirement already satisfied: decorator in ./pyJupyterLab/lib/python3.9/site-packages (from ipython->jupyterlab) (5.0.9)
Requirement already satisfied: pexpect>4.3 in ./pyJupyterLab/lib/python3.9/site-packages (from ipython->jupyterlab) (4.8.0)
Requirement already satisfied: backcall in ./pyJupyterLab/lib/python3.9/site-packages (from ipython->jupyterlab) (0.2.0)
Requirement already satisfied: matplotlib-inline in ./pyJupyterLab/lib/python3.9/site-packages (from ipython->jupyterlab) (0.1.2)
Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in ./pyJupyterLab/lib/python3.9/site-packages (from ipython->jupyterlab) (3.0.19)
Requirement already satisfied: pygments in ./pyJupyterLab/lib/python3.9/site-packages (from ipython->jupyterlab) (2.9.0)
Requirement already satisfied: pickleshare in ./pyJupyterLab/lib/python3.9/site-packages (from ipython->jupyterlab) (0.7.5)
Requirement already satisfied: pyparsing>=2.0.2 in ./pyJupyterLab/lib/python3.9/site-packages (from packaging->jupyterlab) (2.4.7)
Requirement already satisfied: sniffio>=1.1 in ./pyJupyterLab/lib/python3.9/site-packages (from anyio<4,>=3.1.0->jupyter-server~=1.4->jupyterlab) (1.2.0)
Requirement already satisfied: idna>=2.8 in ./pyJupyterLab/lib/python3.9/site-packages (from anyio<4,>=3.1.0->jupyter-server~=1.4->jupyterlab) (2.10)
Requirement already satisfied: parso<0.9.0,>=0.8.0 in ./pyJupyterLab/lib/python3.9/site-packages (from jedi>=0.16->ipython->jupyterlab) (0.8.2)
Requirement already satisfied: attrs>=17.4.0 in ./pyJupyterLab/lib/python3.9/site-packages (from jsonschema>=3.0.1->jupyterlab-server~=2.10->jupyterlab) (21.2.0)
Requirement already satisfied: six>=1.11.0 in ./pyJupyterLab/lib/python3.9/site-packages (from jsonschema>=3.0.1->jupyterlab-server~=2.10->jupyterlab) (1.16.0)
Requirement already satisfied: pyrsistent>=0.14.0 in ./pyJupyterLab/lib/python3.9/site-packages (from jsonschema>=3.0.1->jupyterlab-server~=2.10->jupyterlab) (0.18.0)
Requirement already satisfied: python-dateutil>=2.1 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-client>=6.1.1->jupyter-server~=1.4->jupyterlab) (2.8.1)
Requirement already satisfied: ipykernel in ./pyJupyterLab/lib/python3.9/site-packages (from notebook<7->nbclassic~=0.2->jupyterlab) (6.0.1)
Requirement already satisfied: ptyprocess>=0.5 in ./pyJupyterLab/lib/python3.9/site-packages (from pexpect>4.3->ipython->jupyterlab) (0.7.0)
Requirement already satisfied: wcwidth in ./pyJupyterLab/lib/python3.9/site-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->ipython->jupyterlab) (0.2.5)
Requirement already satisfied: cffi>=1.0.0 in ./pyJupyterLab/lib/python3.9/site-packages (from argon2-cffi->jupyter-server~=1.4->jupyterlab) (1.14.5)
Requirement already satisfied: pytz>=2015.7 in ./pyJupyterLab/lib/python3.9/site-packages (from babel->jupyterlab-server~=2.10->jupyterlab) (2021.1)
Requirement already satisfied: defusedxml in ./pyJupyterLab/lib/python3.9/site-packages (from nbconvert->jupyter-server~=1.4->jupyterlab) (0.7.1)
Requirement already satisfied: mistune<2,>=0.8.1 in ./pyJupyterLab/lib/python3.9/site-packages (from nbconvert->jupyter-server~=1.4->jupyterlab) (0.8.4)
Requirement already satisfied: nbclient<0.6.0,>=0.5.0 in ./pyJupyterLab/lib/python3.9/site-packages (from nbconvert->jupyter-server~=1.4->jupyterlab) (0.5.3)
Requirement already satisfied: jupyterlab-pygments in ./pyJupyterLab/lib/python3.9/site-packages (from nbconvert->jupyter-server~=1.4->jupyterlab) (0.1.2)
Requirement already satisfied: pandocfilters>=1.4.1 in ./pyJupyterLab/lib/python3.9/site-packages (from nbconvert->jupyter-server~=1.4->jupyterlab) (1.4.3)
Requirement already satisfied: testpath in ./pyJupyterLab/lib/python3.9/site-packages (from nbconvert->jupyter-server~=1.4->jupyterlab) (0.5.0)
Requirement already satisfied: bleach in ./pyJupyterLab/lib/python3.9/site-packages (from nbconvert->jupyter-server~=1.4->jupyterlab) (3.3.0)
Requirement already satisfied: certifi>=2017.4.17 in ./pyJupyterLab/lib/python3.9/site-packages (from requests->jupyterlab-server~=2.10->jupyterlab) (2021.5.30)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in ./pyJupyterLab/lib/python3.9/site-packages (from requests->jupyterlab-server~=2.10->jupyterlab) (1.26.6)
Requirement already satisfied: chardet<5,>=3.0.2 in ./pyJupyterLab/lib/python3.9/site-packages (from requests->jupyterlab-server~=2.10->jupyterlab) (4.0.0)
Requirement already satisfied: pycparser in ./pyJupyterLab/lib/python3.9/site-packages (from cffi>=1.0.0->argon2-cffi->jupyter-server~=1.4->jupyterlab) (2.20)
Requirement already satisfied: async-generator in ./pyJupyterLab/lib/python3.9/site-packages (from nbclient<0.6.0,>=0.5.0->nbconvert->jupyter-server~=1.4->jupyterlab) (1.10)
Requirement already satisfied: nest-asyncio in ./pyJupyterLab/lib/python3.9/site-packages (from nbclient<0.6.0,>=0.5.0->nbconvert->jupyter-server~=1.4->jupyterlab) (1.5.1)
Requirement already satisfied: webencodings in ./pyJupyterLab/lib/python3.9/site-packages (from bleach->nbconvert->jupyter-server~=1.4->jupyterlab) (0.5.1)
Requirement already satisfied: debugpy>=1.0.0 in ./pyJupyterLab/lib/python3.9/site-packages (from ipykernel->notebook<7->nbclassic~=0.2->jupyterlab) (1.3.0)
Installing collected packages: jinja2, jupyterlab-server, jupyterlab
  Attempting uninstall: jinja2
    Found existing installation: Jinja2 3.0.1
    Uninstalling Jinja2-3.0.1:
      Successfully uninstalled Jinja2-3.0.1
  Attempting uninstall: jupyterlab-server
    Found existing installation: jupyterlab-server 2.6.0
    Uninstalling jupyterlab-server-2.6.0:
      Successfully uninstalled jupyterlab-server-2.6.0
  Attempting uninstall: jupyterlab
    Found existing installation: jupyterlab 3.2.0
    Uninstalling jupyterlab-3.2.0:
      Successfully uninstalled jupyterlab-3.2.0
Successfully installed jinja2-3.1.1 jupyterlab-3.3.3 jupyterlab-server-2.12.0

(pyJupyterLab) $ pip install -U voila

Requirement already satisfied: voila in ./pyJupyterLab/lib/python3.9/site-packages (0.2.16)
Collecting voila
  Downloading voila-0.3.5-py3-none-any.whl (1.7 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7/1.7 MB 9.5 MB/s eta 0:00:00
Requirement already satisfied: jupyter-client<8,>=6.1.3 in ./pyJupyterLab/lib/python3.9/site-packages (from voila) (6.1.12)
Requirement already satisfied: traitlets<6,>=5.0.3 in ./pyJupyterLab/lib/python3.9/site-packages (from voila) (5.0.5)
Requirement already satisfied: jupyter-server<2.0.0,>=0.3.0 in ./pyJupyterLab/lib/python3.9/site-packages (from voila) (1.9.0)
Collecting websockets>=9.0
  Downloading websockets-10.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (110 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 110.5/110.5 KB 10.8 MB/s eta 0:00:00
Requirement already satisfied: nbclient<0.6,>=0.4.0 in ./pyJupyterLab/lib/python3.9/site-packages (from voila) (0.5.3)
Collecting nbconvert<7,>=6.4.5
  Downloading nbconvert-6.4.5-py3-none-any.whl (561 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 561.4/561.4 KB 11.3 MB/s eta 0:00:00
Requirement already satisfied: jupyterlab-server<3,>=2.3.0 in ./pyJupyterLab/lib/python3.9/site-packages (from voila) (2.12.0)
Requirement already satisfied: jupyter-core>=4.6.0 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-client<8,>=6.1.3->voila) (4.7.1)
Requirement already satisfied: python-dateutil>=2.1 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-client<8,>=6.1.3->voila) (2.8.1)
Requirement already satisfied: tornado>=4.1 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-client<8,>=6.1.3->voila) (6.1)
Requirement already satisfied: pyzmq>=13 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-client<8,>=6.1.3->voila) (22.1.0)
Requirement already satisfied: terminado>=0.8.3 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server<2.0.0,>=0.3.0->voila) (0.10.1)
Requirement already satisfied: nbformat in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server<2.0.0,>=0.3.0->voila) (5.1.3)
Requirement already satisfied: ipython-genutils in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server<2.0.0,>=0.3.0->voila) (0.2.0)
Requirement already satisfied: prometheus-client in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server<2.0.0,>=0.3.0->voila) (0.11.0)
Requirement already satisfied: anyio<4,>=3.1.0 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server<2.0.0,>=0.3.0->voila) (3.2.1)
Requirement already satisfied: argon2-cffi in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server<2.0.0,>=0.3.0->voila) (20.1.0)
Requirement already satisfied: Send2Trash in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server<2.0.0,>=0.3.0->voila) (1.7.1)
Requirement already satisfied: jinja2 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server<2.0.0,>=0.3.0->voila) (3.1.1)
Requirement already satisfied: websocket-client in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server<2.0.0,>=0.3.0->voila) (1.1.0)
Requirement already satisfied: requests-unixsocket in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server<2.0.0,>=0.3.0->voila) (0.2.0)
Requirement already satisfied: babel in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab-server<3,>=2.3.0->voila) (2.9.1)
Requirement already satisfied: jsonschema>=3.0.1 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab-server<3,>=2.3.0->voila) (3.2.0)
Requirement already satisfied: packaging in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab-server<3,>=2.3.0->voila) (21.0)
Requirement already satisfied: json5 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab-server<3,>=2.3.0->voila) (0.9.6)
Requirement already satisfied: requests in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab-server<3,>=2.3.0->voila) (2.25.1)
Requirement already satisfied: entrypoints>=0.2.2 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab-server<3,>=2.3.0->voila) (0.3)
Requirement already satisfied: async-generator in ./pyJupyterLab/lib/python3.9/site-packages (from nbclient<0.6,>=0.4.0->voila) (1.10)
Requirement already satisfied: nest-asyncio in ./pyJupyterLab/lib/python3.9/site-packages (from nbclient<0.6,>=0.4.0->voila) (1.5.1)
Requirement already satisfied: MarkupSafe>=2.0 in ./pyJupyterLab/lib/python3.9/site-packages (from nbconvert<7,>=6.4.5->voila) (2.0.1)
Requirement already satisfied: mistune<2,>=0.8.1 in ./pyJupyterLab/lib/python3.9/site-packages (from nbconvert<7,>=6.4.5->voila) (0.8.4)
Requirement already satisfied: bleach in ./pyJupyterLab/lib/python3.9/site-packages (from nbconvert<7,>=6.4.5->voila) (3.3.0)
Requirement already satisfied: pygments>=2.4.1 in ./pyJupyterLab/lib/python3.9/site-packages (from nbconvert<7,>=6.4.5->voila) (2.9.0)
Requirement already satisfied: jupyterlab-pygments in ./pyJupyterLab/lib/python3.9/site-packages (from nbconvert<7,>=6.4.5->voila) (0.1.2)
Requirement already satisfied: testpath in ./pyJupyterLab/lib/python3.9/site-packages (from nbconvert<7,>=6.4.5->voila) (0.5.0)
Collecting beautifulsoup4
  Downloading beautifulsoup4-4.11.0-py3-none-any.whl (71 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 72.0/72.0 KB 10.5 MB/s eta 0:00:00
Requirement already satisfied: defusedxml in ./pyJupyterLab/lib/python3.9/site-packages (from nbconvert<7,>=6.4.5->voila) (0.7.1)
Requirement already satisfied: pandocfilters>=1.4.1 in ./pyJupyterLab/lib/python3.9/site-packages (from nbconvert<7,>=6.4.5->voila) (1.4.3)
Requirement already satisfied: idna>=2.8 in ./pyJupyterLab/lib/python3.9/site-packages (from anyio<4,>=3.1.0->jupyter-server<2.0.0,>=0.3.0->voila) (2.10)
Requirement already satisfied: sniffio>=1.1 in ./pyJupyterLab/lib/python3.9/site-packages (from anyio<4,>=3.1.0->jupyter-server<2.0.0,>=0.3.0->voila) (1.2.0)
Requirement already satisfied: attrs>=17.4.0 in ./pyJupyterLab/lib/python3.9/site-packages (from jsonschema>=3.0.1->jupyterlab-server<3,>=2.3.0->voila) (21.2.0)
Requirement already satisfied: pyrsistent>=0.14.0 in ./pyJupyterLab/lib/python3.9/site-packages (from jsonschema>=3.0.1->jupyterlab-server<3,>=2.3.0->voila) (0.18.0)
Requirement already satisfied: setuptools in ./pyJupyterLab/lib/python3.9/site-packages (from jsonschema>=3.0.1->jupyterlab-server<3,>=2.3.0->voila) (53.0.0)
Requirement already satisfied: six>=1.11.0 in ./pyJupyterLab/lib/python3.9/site-packages (from jsonschema>=3.0.1->jupyterlab-server<3,>=2.3.0->voila) (1.16.0)
Requirement already satisfied: ptyprocess in ./pyJupyterLab/lib/python3.9/site-packages (from terminado>=0.8.3->jupyter-server<2.0.0,>=0.3.0->voila) (0.7.0)
Requirement already satisfied: cffi>=1.0.0 in ./pyJupyterLab/lib/python3.9/site-packages (from argon2-cffi->jupyter-server<2.0.0,>=0.3.0->voila) (1.14.5)
Requirement already satisfied: pytz>=2015.7 in ./pyJupyterLab/lib/python3.9/site-packages (from babel->jupyterlab-server<3,>=2.3.0->voila) (2021.1)
Collecting soupsieve>1.2
  Downloading soupsieve-2.3.2-py3-none-any.whl (37 kB)
Requirement already satisfied: webencodings in ./pyJupyterLab/lib/python3.9/site-packages (from bleach->nbconvert<7,>=6.4.5->voila) (0.5.1)
Requirement already satisfied: pyparsing>=2.0.2 in ./pyJupyterLab/lib/python3.9/site-packages (from packaging->jupyterlab-server<3,>=2.3.0->voila) (2.4.7)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in ./pyJupyterLab/lib/python3.9/site-packages (from requests->jupyterlab-server<3,>=2.3.0->voila) (1.26.6)
Requirement already satisfied: certifi>=2017.4.17 in ./pyJupyterLab/lib/python3.9/site-packages (from requests->jupyterlab-server<3,>=2.3.0->voila) (2021.5.30)
Requirement already satisfied: chardet<5,>=3.0.2 in ./pyJupyterLab/lib/python3.9/site-packages (from requests->jupyterlab-server<3,>=2.3.0->voila) (4.0.0)
Requirement already satisfied: pycparser in ./pyJupyterLab/lib/python3.9/site-packages (from cffi>=1.0.0->argon2-cffi->jupyter-server<2.0.0,>=0.3.0->voila) (2.20)
Installing collected packages: websockets, soupsieve, beautifulsoup4, nbconvert, voila
  Attempting uninstall: nbconvert
    Found existing installation: nbconvert 6.1.0
    Uninstalling nbconvert-6.1.0:
      Successfully uninstalled nbconvert-6.1.0
  Attempting uninstall: voila
    Found existing installation: voila 0.2.16
    Uninstalling voila-0.2.16:
      Successfully uninstalled voila-0.2.16
Successfully installed beautifulsoup4-4.11.0 nbconvert-6.4.5 soupsieve-2.3.2 voila-0.3.5 websockets-10.2

(pyJupyterLab) $ pip install -U jupyterlab-git


jupyter コマンド

jupyter コマンドの使い方。

$ jupyter --help

usage: jupyter [-h] [--version] [--config-dir] [--data-dir] [--runtime-dir] [--paths] [--json] [--debug]
               [subcommand]

Jupyter: Interactive Computing

positional arguments:
  subcommand     the subcommand to launch

options:
  -h, --help     show this help message and exit
  --version      show the versions of core jupyter packages and exit
  --config-dir   show Jupyter config dir
  --data-dir     show Jupyter data dir
  --runtime-dir  show Jupyter runtime dir
  --paths        show all Jupyter paths. Add --json for machine-readable format.
  --json         output paths as machine-readable json
  --debug        output debug information about paths

Available subcommands: bundlerextension dejavu execute kernel kernelspec lab labextension labhub migrate
nbclassic nbconvert nbextension notebook run server serverextension troubleshoot trust

lab サブコマンド

jupyter lab サブコマンドの使い方。

jupyter lab --help-all

JupyterLab - An extensible computational environment for Jupyter.

This launches a Tornado based HTML Server that serves up an HTML5/Javascript
JupyterLab client.

JupyterLab has three different modes of running:

* Core mode (`--core-mode`): in this mode JupyterLab will run using the JavaScript
  assets contained in the installed `jupyterlab` Python package. In core mode, no
  extensions are enabled. This is the default in a stable JupyterLab release if you
  have no extensions installed.
* Dev mode (`--dev-mode`): uses the unpublished local JavaScript packages in the
  `dev_mode` folder.  In this case JupyterLab will show a red stripe at the top of
  the page.  It can only be used if JupyterLab is installed as `pip install -e .`.
* App mode: JupyterLab allows multiple JupyterLab "applications" to be
  created by the user with different combinations of extensions. The `--app-dir` can
  be used to set a directory for different applications. The default application
  path can be found using `jupyter lab path`.

Subcommands
===========
Subcommands are launched as `lab cmd [args]`. For information on using
subcommand 'cmd', do: `lab cmd -h`.

build
clean
path
paths
workspace
workspaces
licenses

Options
=======
The options below are convenience aliases to configurable class-options,
as listed in the "Equivalent to" description-line of the aliases.
To see all configurable class-options for some , use:
     --help-all

--debug
    Set debug level for the extension and underlying server applications.
    Equivalent to: [--ServerApp.log_level=DEBUG --ExtensionApp.log_level=DEBUG]
--show-config
    Show the application's configuration (human-readable format)
    Equivalent to: [--Application.show_config=True]
--show-config-json
    Show the application's configuration (json format)
    Equivalent to: [--Application.show_config_json=True]
--generate-config
    generate default config file
    Equivalent to: [--JupyterApp.generate_config=True]
-y
    Answer yes to any questions instead of prompting.
    Equivalent to: [--JupyterApp.answer_yes=True]
--allow-root
    Allow the server to be run from root user.
    Equivalent to: [--ServerApp.allow_root=True]
--no-browser
    Prevent the opening of the default url in the browser.
    Equivalent to: [--ServerApp.open_browser=False --ExtensionApp.open_browser=False]
--autoreload
    Autoreload the webapp
        Enable reloading of the tornado webapp and all imported Python packages
        when any changes are made to any Python src files in server or
        extensions.
    Equivalent to: [--ServerApp.autoreload=True]
--script
    DEPRECATED, IGNORED
    Equivalent to: [--FileContentsManager.save_script=True]
--no-script
    DEPRECATED, IGNORED
    Equivalent to: [--FileContentsManager.save_script=False]
--core-mode
    Start the app in core mode.
    Equivalent to: [--LabApp.core_mode=True]
--dev-mode
    Start the app in dev mode for running from source.
    Equivalent to: [--LabApp.dev_mode=True]
--watch
    Start the app in watch mode.
    Equivalent to: [--LabApp.watch=True]
--splice-source
    Splice source packages into app directory.
    Equivalent to: [--LabApp.splice_source=True]
--expose-app-in-browser
    Expose the global app instance to browser via window.jupyterapp.
            It is also available via the deprecated window.jupyterlab name.
    Equivalent to: [--LabApp.expose_app_in_browser=True]
--extensions-in-dev-mode
    Load prebuilt extensions in dev-mode.
    Equivalent to: [--LabApp.extensions_in_dev_mode=True]
--collaborative
    Whether to enable collaborative mode (experimental).
    Equivalent to: [--LabApp.collaborative=True]
--log-level=
    Set the log level by value or name.
    Choices: any of [0, 10, 20, 30, 40, 50, 'DEBUG', 'INFO', 'WARN', 'ERROR', 'CRITICAL']
    Default: 30
    Equivalent to: [--Application.log_level]
--config=
    Full path of a config file.
    Default: ''
    Equivalent to: [--JupyterApp.config_file]
--ip=
    The IP address the Jupyter server will listen on.
    Default: 'localhost'
    Equivalent to: [--ServerApp.ip]
--port=
    The port the server will listen on (env: JUPYTER_PORT).
    Default: 0
    Equivalent to: [--ServerApp.port]
--port-retries=
    The number of additional ports to try if the specified port is not available
    (env: JUPYTER_PORT_RETRIES).
    Default: 50
    Equivalent to: [--ServerApp.port_retries]
--keyfile=
    SSL/TLS で使用する秘密鍵ファイルへの完全なパス。
    Default: ''
    Equivalent to: [--ServerApp.keyfile]
--certfile=
    SSL/TLS 証明書ファイルへの完全なパス。
    Default: ''
    Equivalent to: [--ServerApp.certfile]
--client-ca=
    SSL/TLS クライアント認証用の認証局証明書への完全なパス。
    Default: ''
    Equivalent to: [--ServerApp.client_ca]
--notebook-dir=
    ノートブックとカーネルが使うディレクトリ。
    Default: ''
    Equivalent to: [--ServerApp.root_dir]
--browser=
    Specify what command to use to invoke a web
                          browser when starting the server. If not specified, the
                          default browser will be determined by the `webbrowser`
                          standard library module, which allows setting of the
                          BROWSER environment variable to override it.
    Default: ''
    Equivalent to: [--ServerApp.browser]
--pylab=
    非推奨: matplotlib を有効にするにはノートブックで %pylab または %matplotlib を実行して下さい。
    Default: 'disabled'
    Equivalent to: [--ServerApp.pylab]
--watch=
    Whether to serve the app in watch mode
    Default: False
    Equivalent to: [--LabApp.watch]
--app-dir=
    The app directory to launch JupyterLab from.
    Default: None
    Equivalent to: [--LabApp.app_dir]

Class options
=============
The command-line option below sets the respective configurable class-parameter:
    --Class.parameter=value
This line is evaluated in Python, so simple expressions are allowed.
For instance, to set `C.a=[0,1,2]`, you may type this:
    --C.a='range(3)'

Application(SingletonConfigurable) options
------------------------------------------
--Application.log_datefmt=
    The date format used by logging formatters for %(asctime)s
    Default: '%Y-%m-%d %H:%M:%S'
--Application.log_format=
    The Logging format template
    Default: '[%(name)s]%(highlevel)s %(message)s'
--Application.log_level=
    Set the log level by value or name.
    Choices: any of [0, 10, 20, 30, 40, 50, 'DEBUG', 'INFO', 'WARN', 'ERROR', 'CRITICAL']
    Default: 30
--Application.logging_config==...
    Configure additional log handlers.
    The default stderr logs handler is configured by the log_level, log_datefmt
    and log_format settings.
    This configuration can be used to configure additional handlers (e.g. to
    output the log to a file) or for finer control over the default handlers.
    If provided this should be a logging configuration dictionary, for more
    information see:
    https://docs.python.org/3/library/logging.config.html#logging-config-
    dictschema
    This dictionary is merged with the base logging configuration which defines
    the following:
    * A logging formatter intended for interactive use called
      ``console``.
    * A logging handler that writes to stderr called
      ``console`` which uses the formatter ``console``.
    * A logger with the name of this application set to ``DEBUG``
      level.
    This example adds a new handler that writes to a file:
    .. code-block:: python
       c.Application.logging_config = {
           'handlers': {
               'file': {
                   'class': 'logging.FileHandler',
                   'level': 'DEBUG',
                   'filename': '',
               }
           },
           'loggers': {
               '': {
                   'level': 'DEBUG',
                   # NOTE: if you don't list the default "console"
                   # handler here then it will be disabled
                   'handlers': ['console', 'file'],
               },
           }
       }
    Default: {}
--Application.show_config=
    Instead of starting the Application, dump configuration to stdout
    Default: False
--Application.show_config_json=
    Instead of starting the Application, dump configuration to stdout (as JSON)
    Default: False

JupyterApp(Application) options
-------------------------------
--JupyterApp.answer_yes=
    Answer yes to any prompts.
    Default: False
--JupyterApp.config_file=
    Full path of a config file.
    Default: ''
--JupyterApp.config_file_name=
    Specify a config file to load.
    Default: ''
--JupyterApp.generate_config=
    Generate default config file.
    Default: False
--JupyterApp.log_datefmt=
    The date format used by logging formatters for %(asctime)s
    Default: '%Y-%m-%d %H:%M:%S'
--JupyterApp.log_format=
    The Logging format template
    Default: '[%(name)s]%(highlevel)s %(message)s'
--JupyterApp.log_level=
    Set the log level by value or name.
    Choices: any of [0, 10, 20, 30, 40, 50, 'DEBUG', 'INFO', 'WARN', 'ERROR', 'CRITICAL']
    Default: 30
--JupyterApp.logging_config==...
    Configure additional log handlers.
    The default stderr logs handler is configured by the log_level, log_datefmt
    and log_format settings.
    This configuration can be used to configure additional handlers (e.g. to
    output the log to a file) or for finer control over the default handlers.
    If provided this should be a logging configuration dictionary, for more
    information see:
    https://docs.python.org/3/library/logging.config.html#logging-config-
    dictschema
    This dictionary is merged with the base logging configuration which defines
    the following:
    * A logging formatter intended for interactive use called
      ``console``.
    * A logging handler that writes to stderr called
      ``console`` which uses the formatter ``console``.
    * A logger with the name of this application set to ``DEBUG``
      level.
    This example adds a new handler that writes to a file:
    .. code-block:: python
       c.Application.logging_config = {
           'handlers': {
               'file': {
                   'class': 'logging.FileHandler',
                   'level': 'DEBUG',
                   'filename': '',
               }
           },
           'loggers': {
               '': {
                   'level': 'DEBUG',
                   # NOTE: if you don't list the default "console"
                   # handler here then it will be disabled
                   'handlers': ['console', 'file'],
               },
           }
       }
    Default: {}
--JupyterApp.show_config=
    Instead of starting the Application, dump configuration to stdout
    Default: False
--JupyterApp.show_config_json=
    Instead of starting the Application, dump configuration to stdout (as JSON)
    Default: False

ExtensionApp(JupyterApp) options
--------------------------------
--ExtensionApp.answer_yes=
    Answer yes to any prompts.
    Default: False
--ExtensionApp.config_file=
    Full path of a config file.
    Default: ''
--ExtensionApp.config_file_name=
    Specify a config file to load.
    Default: ''
--ExtensionApp.default_url=
    Default: ''
--ExtensionApp.generate_config=
    Generate default config file.
    Default: False
--ExtensionApp.handlers=...
    Handlers appended to the server.
    Default: []
--ExtensionApp.log_datefmt=
    The date format used by logging formatters for %(asctime)s
    Default: '%Y-%m-%d %H:%M:%S'
--ExtensionApp.log_format=
    The Logging format template
    Default: '[%(name)s]%(highlevel)s %(message)s'
--ExtensionApp.log_level=
    Set the log level by value or name.
    Choices: any of [0, 10, 20, 30, 40, 50, 'DEBUG', 'INFO', 'WARN', 'ERROR', 'CRITICAL']
    Default: 30
--ExtensionApp.logging_config==...
    Configure additional log handlers.
    The default stderr logs handler is configured by the log_level, log_datefmt
    and log_format settings.
    This configuration can be used to configure additional handlers (e.g. to
    output the log to a file) or for finer control over the default handlers.
    If provided this should be a logging configuration dictionary, for more
    information see:
    https://docs.python.org/3/library/logging.config.html#logging-config-
    dictschema
    This dictionary is merged with the base logging configuration which defines
    the following:
    * A logging formatter intended for interactive use called
      ``console``.
    * A logging handler that writes to stderr called
      ``console`` which uses the formatter ``console``.
    * A logger with the name of this application set to ``DEBUG``
      level.
    This example adds a new handler that writes to a file:
    .. code-block:: python
       c.Application.logging_config = {
           'handlers': {
               'file': {
                   'class': 'logging.FileHandler',
                   'level': 'DEBUG',
                   'filename': '',
               }
           },
           'loggers': {
               '': {
                   'level': 'DEBUG',
                   # NOTE: if you don't list the default "console"
                   # handler here then it will be disabled
                   'handlers': ['console', 'file'],
               },
           }
       }
    Default: {}
--ExtensionApp.open_browser=
    Whether to open in a browser after starting.
            The specific browser used is platform dependent and
            determined by the python standard library `webbrowser`
            module, unless it is overridden using the --browser
            (ServerApp.browser) configuration option.
    Default: False
--ExtensionApp.settings==...
    Settings that will passed to the server.
    Default: {}
--ExtensionApp.show_config=
    Instead of starting the Application, dump configuration to stdout
    Default: False
--ExtensionApp.show_config_json=
    Instead of starting the Application, dump configuration to stdout (as JSON)
    Default: False
--ExtensionApp.static_paths=...
    paths to search for serving static files.
            This allows adding javascript/css to be available from the notebook server machine,
            or overriding individual files in the IPython
    Default: []
--ExtensionApp.static_url_prefix=
    Url where the static assets for the extension are served.
    Default: ''
--ExtensionApp.template_paths=...
    Paths to search for serving jinja templates.
            Can be used to override templates from notebook.templates.
    Default: []

LabServerApp(ExtensionAppJinjaMixin, LabConfig, ExtensionApp) options
---------------------------------------------------------------------
--LabServerApp.allowed_extensions_uris=
    "A list of comma-separated URIs to get the allowed extensions list
    .. versionchanged:: 2.0.0
        `LabServerApp.whitetlist_uris` renamed to `allowed_extensions_uris`
    Default: ''
--LabServerApp.answer_yes=
    Answer yes to any prompts.
    Default: False
--LabServerApp.app_settings_dir=
    The application settings directory.
    Default: ''
--LabServerApp.app_url=
    The url path for the application.
    Default: '/lab'
--LabServerApp.blacklist_uris=
    Deprecated, use `LabServerApp.blocked_extensions_uris`
    Default: ''
--LabServerApp.blocked_extensions_uris=
    A list of comma-separated URIs to get the blocked extensions list
    .. versionchanged:: 2.0.0
        `LabServerApp.blacklist_uris` renamed to `blocked_extensions_uris`
    Default: ''
--LabServerApp.cache_files=
    Whether to cache files on the server. This should be `True` except in dev
    mode.
    Default: True
--LabServerApp.config_file=
    Full path of a config file.
    Default: ''
--LabServerApp.config_file_name=
    Specify a config file to load.
    Default: ''
--LabServerApp.extra_labextensions_path=...
    Extra paths to look for federated JupyterLab extensions
    Default: []
--LabServerApp.generate_config=
    Generate default config file.
    Default: False
--LabServerApp.handlers=...
    Handlers appended to the server.
    Default: []
--LabServerApp.jinja2_options==...
    Options to pass to the jinja2 environment for this
    Default: {}
--LabServerApp.labextensions_path=...
    The standard paths to look in for federated JupyterLab extensions
    Default: []
--LabServerApp.labextensions_url=
    The url for federated JupyterLab extensions
    Default: ''
--LabServerApp.listings_refresh_seconds=
    The interval delay in seconds to refresh the lists
    Default: 3600
--LabServerApp.listings_request_options==...
    The optional kwargs to use for the listings HTTP requests             as
    described on https://2.python-requests.org/en/v2.7.0/api/#requests.request
    Default: {}
--LabServerApp.listings_url=
    The listings url.
    Default: ''
--LabServerApp.log_datefmt=
    The date format used by logging formatters for %(asctime)s
    Default: '%Y-%m-%d %H:%M:%S'
--LabServerApp.log_format=
    The Logging format template
    Default: '[%(name)s]%(highlevel)s %(message)s'
--LabServerApp.log_level=
    Set the log level by value or name.
    Choices: any of [0, 10, 20, 30, 40, 50, 'DEBUG', 'INFO', 'WARN', 'ERROR', 'CRITICAL']
    Default: 30
--LabServerApp.logging_config==...
    Configure additional log handlers.
    The default stderr logs handler is configured by the log_level, log_datefmt
    and log_format settings.
    This configuration can be used to configure additional handlers (e.g. to
    output the log to a file) or for finer control over the default handlers.
    If provided this should be a logging configuration dictionary, for more
    information see:
    https://docs.python.org/3/library/logging.config.html#logging-config-
    dictschema
    This dictionary is merged with the base logging configuration which defines
    the following:
    * A logging formatter intended for interactive use called
      ``console``.
    * A logging handler that writes to stderr called
      ``console`` which uses the formatter ``console``.
    * A logger with the name of this application set to ``DEBUG``
      level.
    This example adds a new handler that writes to a file:
    .. code-block:: python
       c.Application.logging_config = {
           'handlers': {
               'file': {
                   'class': 'logging.FileHandler',
                   'level': 'DEBUG',
                   'filename': '',
               }
           },
           'loggers': {
               '': {
                   'level': 'DEBUG',
                   # NOTE: if you don't list the default "console"
                   # handler here then it will be disabled
                   'handlers': ['console', 'file'],
               },
           }
       }
    Default: {}
--LabServerApp.notebook_starts_kernel=
    Whether a notebook should start a kernel automatically.
    Default: True
--LabServerApp.open_browser=
    Whether to open in a browser after starting.
            The specific browser used is platform dependent and
            determined by the python standard library `webbrowser`
            module, unless it is overridden using the --browser
            (ServerApp.browser) configuration option.
    Default: False
--LabServerApp.schemas_dir=
    The optional location of the settings schemas directory. If given, a handler
    will be added for settings.
    Default: ''
--LabServerApp.settings==...
    Settings that will passed to the server.
    Default: {}
--LabServerApp.settings_url=
    The url path of the settings handler.
    Default: ''
--LabServerApp.show_config=
    Instead of starting the Application, dump configuration to stdout
    Default: False
--LabServerApp.show_config_json=
    Instead of starting the Application, dump configuration to stdout (as JSON)
    Default: False
--LabServerApp.static_dir=
    The optional location of local static files. If given, a static file handler
    will be added.
    Default: ''
--LabServerApp.static_paths=...
    paths to search for serving static files.
            This allows adding javascript/css to be available from the notebook server machine,
            or overriding individual files in the IPython
    Default: []
--LabServerApp.static_url_prefix=
    Url where the static assets for the extension are served.
    Default: ''
--LabServerApp.template_paths=...
    Paths to search for serving jinja templates.
            Can be used to override templates from notebook.templates.
    Default: []
--LabServerApp.templates_dir=
    The application templates directory.
    Default: ''
--LabServerApp.themes_dir=
    The optional location of the themes directory. If given, a handler will be
    added for themes.
    Default: ''
--LabServerApp.themes_url=
    The theme url.
    Default: ''
--LabServerApp.translations_api_url=
    The url path of the translations handler.
    Default: ''
--LabServerApp.tree_url=
    The url path of the tree handler.
    Default: ''
--LabServerApp.user_settings_dir=
    The optional location of the user settings directory.
    Default: ''
--LabServerApp.whitelist_uris=
    Deprecated, use `LabServerApp.allowed_extensions_uris`
    Default: ''
--LabServerApp.workspaces_api_url=
    The url path of the workspaces API.
    Default: ''
--LabServerApp.workspaces_dir=
    The optional location of the saved workspaces directory. If given, a handler
    will be added for workspaces.
    Default: ''

LabApp(NotebookConfigShimMixin, LabServerApp) options
-----------------------------------------------------
--LabApp.allowed_extensions_uris=
    "A list of comma-separated URIs to get the allowed extensions list
    .. versionchanged:: 2.0.0
        `LabServerApp.whitetlist_uris` renamed to `allowed_extensions_uris`
    Default: ''
--LabApp.answer_yes=
    Answer yes to any prompts.
    Default: False
--LabApp.app_dir=
    The app directory to launch JupyterLab from.
    Default: None
--LabApp.app_settings_dir=
    The application settings directory.
    Default: ''
--LabApp.app_url=
    The url path for the application.
    Default: '/lab'
--LabApp.blacklist_uris=
    Deprecated, use `LabServerApp.blocked_extensions_uris`
    Default: ''
--LabApp.blocked_extensions_uris=
    A list of comma-separated URIs to get the blocked extensions list
    .. versionchanged:: 2.0.0
        `LabServerApp.blacklist_uris` renamed to `blocked_extensions_uris`
    Default: ''
--LabApp.cache_files=
    Whether to cache files on the server. This should be `True` except in dev
    mode.
    Default: True
--LabApp.collaborative=
    Whether to enable collaborative mode (experimental).
    Default: False
--LabApp.config_file=
    Full path of a config file.
    Default: ''
--LabApp.config_file_name=
    Specify a config file to load.
    Default: ''
--LabApp.core_mode=
    Whether to start the app in core mode. In this mode, JupyterLab
            will run using the JavaScript assets that are within the installed
            JupyterLab Python package. In core mode, third party extensions are disabled.
            The `--dev-mode` flag is an alias to this to be used when the Python package
            itself is installed in development mode (`pip install -e .`).
    Default: False
--LabApp.default_url=
    The default URL to redirect to from `/`
    Default: '/lab'
--LabApp.dev_mode=
    Whether to start the app in dev mode. Uses the unpublished local
            JavaScript packages in the `dev_mode` folder.  In this case JupyterLab will
            show a red stripe at the top of the page.  It can only be used if JupyterLab
            is installed as `pip install -e .`.
    Default: False
--LabApp.expose_app_in_browser=
    Whether to expose the global app instance to browser via window.jupyterlab
    Default: False
--LabApp.extensions_in_dev_mode=
    Whether to load prebuilt extensions in dev mode. This may be
            useful to run and test prebuilt extensions in development installs of
            JupyterLab. APIs in a JupyterLab development install may be
            incompatible with published packages, so prebuilt extensions compiled
            against published packages may not work correctly.
    Default: False
--LabApp.extra_labextensions_path=...
    Extra paths to look for federated JupyterLab extensions
    Default: []
--LabApp.generate_config=
    Generate default config file.
    Default: False
--LabApp.handlers=...
    Handlers appended to the server.
    Default: []
--LabApp.jinja2_options==...
    Options to pass to the jinja2 environment for this
    Default: {}
--LabApp.labextensions_path=...
    The standard paths to look in for federated JupyterLab extensions
    Default: []
--LabApp.labextensions_url=
    The url for federated JupyterLab extensions
    Default: ''
--LabApp.listings_refresh_seconds=
    The interval delay in seconds to refresh the lists
    Default: 3600
--LabApp.listings_request_options==...
    The optional kwargs to use for the listings HTTP requests             as
    described on https://2.python-requests.org/en/v2.7.0/api/#requests.request
    Default: {}
--LabApp.listings_url=
    The listings url.
    Default: ''
--LabApp.log_datefmt=
    The date format used by logging formatters for %(asctime)s
    Default: '%Y-%m-%d %H:%M:%S'
--LabApp.log_format=
    The Logging format template
    Default: '[%(name)s]%(highlevel)s %(message)s'
--LabApp.log_level=
    Set the log level by value or name.
    Choices: any of [0, 10, 20, 30, 40, 50, 'DEBUG', 'INFO', 'WARN', 'ERROR', 'CRITICAL']
    Default: 30
--LabApp.logging_config==...
    Configure additional log handlers.
    The default stderr logs handler is configured by the log_level, log_datefmt
    and log_format settings.
    This configuration can be used to configure additional handlers (e.g. to
    output the log to a file) or for finer control over the default handlers.
    If provided this should be a logging configuration dictionary, for more
    information see:
    https://docs.python.org/3/library/logging.config.html#logging-config-
    dictschema
    This dictionary is merged with the base logging configuration which defines
    the following:
    * A logging formatter intended for interactive use called
      ``console``.
    * A logging handler that writes to stderr called
      ``console`` which uses the formatter ``console``.
    * A logger with the name of this application set to ``DEBUG``
      level.
    This example adds a new handler that writes to a file:
    .. code-block:: python
       c.Application.logging_config = {
           'handlers': {
               'file': {
                   'class': 'logging.FileHandler',
                   'level': 'DEBUG',
                   'filename': '',
               }
           },
           'loggers': {
               '': {
                   'level': 'DEBUG',
                   # NOTE: if you don't list the default "console"
                   # handler here then it will be disabled
                   'handlers': ['console', 'file'],
               },
           }
       }
    Default: {}
--LabApp.notebook_starts_kernel=
    Whether a notebook should start a kernel automatically.
    Default: True
--LabApp.open_browser=
    Whether to open in a browser after starting.
            The specific browser used is platform dependent and
            determined by the python standard library `webbrowser`
            module, unless it is overridden using the --browser
            (ServerApp.browser) configuration option.
    Default: False
--LabApp.override_static_url=
    The override url for static lab assets, typically a CDN.
    Default: ''
--LabApp.override_theme_url=
    The override url for static lab theme assets, typically a CDN.
    Default: ''
--LabApp.schemas_dir=
    The optional location of the settings schemas directory. If given, a handler
    will be added for settings.
    Default: ''
--LabApp.settings==...
    Settings that will passed to the server.
    Default: {}
--LabApp.settings_url=
    The url path of the settings handler.
    Default: ''
--LabApp.show_config=
    Instead of starting the Application, dump configuration to stdout
    Default: False
--LabApp.show_config_json=
    Instead of starting the Application, dump configuration to stdout (as JSON)
    Default: False
--LabApp.splice_source=
    Splice source packages into app directory.
    Default: False
--LabApp.static_dir=
    The optional location of local static files. If given, a static file handler
    will be added.
    Default: ''
--LabApp.static_paths=...
    paths to search for serving static files.
            This allows adding javascript/css to be available from the notebook server machine,
            or overriding individual files in the IPython
    Default: []
--LabApp.static_url_prefix=
    Url where the static assets for the extension are served.
    Default: ''
--LabApp.template_paths=...
    Paths to search for serving jinja templates.
            Can be used to override templates from notebook.templates.
    Default: []
--LabApp.templates_dir=
    The application templates directory.
    Default: ''
--LabApp.themes_dir=
    The optional location of the themes directory. If given, a handler will be
    added for themes.
    Default: ''
--LabApp.themes_url=
    The theme url.
    Default: ''
--LabApp.translations_api_url=
    The url path of the translations handler.
    Default: ''
--LabApp.tree_url=
    The url path of the tree handler.
    Default: ''
--LabApp.user_settings_dir=
    The directory for user settings.
    Default: '/home/tomoyan/.jupyter/lab/user-settings'
--LabApp.watch=
    Whether to serve the app in watch mode
    Default: False
--LabApp.whitelist_uris=
    Deprecated, use `LabServerApp.allowed_extensions_uris`
    Default: ''
--LabApp.workspaces_api_url=
    The url path of the workspaces API.
    Default: ''
--LabApp.workspaces_dir=
    The directory for workspaces
    Default: '/home/tomoyan/.jupyter/lab/workspaces'

ServerApp(JupyterApp) options
-----------------------------
--ServerApp.allow_credentials=
    Access-Control-Allow-Credentials: true ヘッダーを設定します。
    Default: False
--ServerApp.allow_origin=
    Set the Access-Control-Allow-Origin header
            Use '*' to allow any origin to access your server.
            Takes precedence over allow_origin_pat.
    Default: ''
--ServerApp.allow_origin_pat=
    Use a regular expression for the Access-Control-Allow-Origin header
            Requests from an origin matching the expression will get replies
    with:
                Access-Control-Allow-Origin: origin
            where `origin` is the origin of the request.
            Ignored if allow_origin is set.
    Default: ''
--ServerApp.allow_password_change=
    Allow password to be changed at login for the Jupyter server.
                        While logging in with a token, the Jupyter server UI will give the opportunity to
                        the user to enter a new password at the same time that will replace
                        the token login mechanism.
                        This can be set to false to prevent changing password
    from the UI/API.
    Default: True
--ServerApp.allow_remote_access=
    Allow requests where the Host header doesn't point to a local server
           By default, requests get a 403 forbidden response if the 'Host' header
           shows that the browser thinks it's on a non-local domain.
           Setting this option to True disables this check.
           This protects against 'DNS rebinding' attacks, where a remote web server
           serves you a page and then changes its DNS to send later requests to a
           local IP, bypassing same-origin checks.
           Local IP addresses (such as 127.0.0.1 and ::1) are allowed as local,
           along with hostnames configured in local_hostnames.
    Default: False
--ServerApp.allow_root=
    Whether to allow the user to run the server as root.
    Default: False
--ServerApp.answer_yes=
    Answer yes to any prompts.
    Default: False
--ServerApp.authenticate_prometheus=
    "
            Require authentication to access prometheus metrics.
    Default: True
--ServerApp.authorizer_class=
    The authorizer class to use.
    Default: 'jupyter_server.auth.authorizer.AllowAllAuthorizer'
--ServerApp.autoreload=
    Reload the webapp when changes are made to any Python src files.
    Default: False
--ServerApp.base_url=
    The base URL for the Jupyter server.
                           Leading and trailing slashes can be omitted,
                           and will automatically be added.
    Default: '/'
--ServerApp.browser=
    Specify what command to use to invoke a web
                          browser when starting the server. If not specified, the
                          default browser will be determined by the `webbrowser`
                          standard library module, which allows setting of the
                          BROWSER environment variable to override it.
    Default: ''
--ServerApp.certfile=
    SSL/TLS 証明書ファイルへの完全なパス。
    Default: ''
--ServerApp.client_ca=
    SSL/TLS クライアント認証用の認証局証明書への完全なパス。
    Default: ''
--ServerApp.config_file=
    Full path of a config file.
    Default: ''
--ServerApp.config_file_name=
    Specify a config file to load.
    Default: ''
--ServerApp.config_manager_class=
    設定マネージャのクラス
    Default: 'jupyter_server.services.config.manager.ConfigManager'
--ServerApp.contents_manager_class=
    The content manager class to use.
    Default: 'jupyter_server.services.contents.largefilemanager.LargeFileM...
--ServerApp.cookie_options==...
    `set_secure_cookie` に渡す追加のキーワード引数。詳細は tornado の set_secure_cookie
    のドキュメントを参照。
    Default: {}
--ServerApp.cookie_secret=
    The random bytes used to secure cookies.
            By default this is a new random number every time you start the server.
            Set it to a value in a config file to enable logins to persist across server sessions.
            Note: Cookie secrets should be kept private, do not share config files with
            cookie_secret stored in plaintext (you can read the value from a file).
    Default: b''
--ServerApp.cookie_secret_file=
    cookie secret を保存するファイル。
    Default: ''
--ServerApp.custom_display_url=
    Override URL shown to users.
            Replace actual URL, including protocol, address, port and base URL,
            with the given value when displaying URL to the users. Do not change
            the actual connection URL. If authentication token is enabled, the
            token is added to the custom URL automatically.
            This option is intended to be used when the URL to display to the user
            cannot be determined reliably by the Jupyter server (proxified
            or containerized setups for example).
    Default: ''
--ServerApp.default_url=
    `/` からリダイレクトされるデフォルトの URL
    Default: '/'
--ServerApp.disable_check_xsrf=
    Disable cross-site-request-forgery protection
            Jupyter notebook 4.3.1 introduces protection from cross-site request forgeries,
            requiring API requests to either:
            - originate from pages served by this server (validated with XSRF cookie and token), or
            - authenticate with a token
            Some anonymous compute resources still desire the ability to run code,
            completely without authentication.
            These services can disable all authentication and security checks,
            with the full knowledge of what that implies.
    Default: False
--ServerApp.extra_services=...
    handlers that should be loaded at higher priority than the default services
    Default: []
--ServerApp.extra_static_paths=...
    Extra paths to search for serving static files.
            This allows adding javascript/css to be available from the Jupyter server machine,
            or overriding individual files in the IPython
    Default: []
--ServerApp.extra_template_paths=...
    Extra paths to search for serving jinja templates.
            Can be used to override templates from jupyter_server.templates.
    Default: []
--ServerApp.file_to_run=
    Open the named file when the application is launched.
    Default: ''
--ServerApp.file_url_prefix=
    The URL prefix where files are opened directly.
    Default: 'notebooks'
--ServerApp.generate_config=
    Generate default config file.
    Default: False
--ServerApp.get_secure_cookie_kwargs==...
    Extra keyword arguments to pass to `get_secure_cookie`. See tornado's
    get_secure_cookie docs for details.
    Default: {}
--ServerApp.iopub_data_rate_limit=
    (bytes/sec)
            ストリーム出力が送信制限される前に iopub で送信可能な最大レート。
    Default: 1000000
--ServerApp.iopub_msg_rate_limit=
    メッセージが送信される前に iopub で送信可能な最大レート。
    Default: 1000
--ServerApp.ip=
    The IP address the Jupyter server will listen on.
    Default: 'localhost'
--ServerApp.jinja_environment_options==...
    Jinja environment に渡される追加の引数を指定します。
    Default: {}
--ServerApp.jinja_template_vars==...
    jinja テンプレートがレンダリングする際に渡される追加の変数。
    Default: {}
--ServerApp.jpserver_extensions==...
    Dict of Python modules to load as Jupyter server extensions.Entry values can
    be used to enable and disable the loading ofthe extensions. The extensions
    will be loaded in alphabetical order.
    Default: {}
--ServerApp.kernel_manager_class=
    カーネルマネージャのクラス
    Default: 'jupyter_server.services.kernels.kernelmanager.MappingKernelM...
--ServerApp.kernel_spec_manager_class=
    The kernel spec manager class to use. Should be a subclass of
    `jupyter_client.kernelspec.KernelSpecManager`.
    The Api of KernelSpecManager is provisional and might change without warning
    between this version of Jupyter and the next stable one.
    Default: 'builtins.object'
--ServerApp.kernel_ws_protocol=
    Preferred kernel message protocol over websocket to use (default: None). If
    an empty string is passed, select the legacy protocol. If None, the selected
    protocol will depend on what the front-end supports (usually the most recent
    protocol supported by the back-end and the front-end).
    Default: None
--ServerApp.keyfile=
    SSL/TLS で使用する秘密鍵ファイルへの完全なパス。
    Default: ''
--ServerApp.limit_rate=
    Whether to limit the rate of IOPub messages (default: True). If True, use
    iopub_msg_rate_limit, iopub_data_rate_limit and/or rate_limit_window to tune
    the rate.
    Default: True
--ServerApp.local_hostnames=...
    Hostnames to allow as local when allow_remote_access is False.
           Local IP addresses (such as 127.0.0.1 and ::1) are automatically accepted
           as local as well.
    Default: ['localhost']
--ServerApp.log_datefmt=
    The date format used by logging formatters for %(asctime)s
    Default: '%Y-%m-%d %H:%M:%S'
--ServerApp.log_format=
    The Logging format template
    Default: '[%(name)s]%(highlevel)s %(message)s'
--ServerApp.log_level=
    Set the log level by value or name.
    Choices: any of [0, 10, 20, 30, 40, 50, 'DEBUG', 'INFO', 'WARN', 'ERROR', 'CRITICAL']
    Default: 30
--ServerApp.logging_config==...
    Configure additional log handlers.
    The default stderr logs handler is configured by the log_level, log_datefmt
    and log_format settings.
    This configuration can be used to configure additional handlers (e.g. to
    output the log to a file) or for finer control over the default handlers.
    If provided this should be a logging configuration dictionary, for more
    information see:
    https://docs.python.org/3/library/logging.config.html#logging-config-
    dictschema
    This dictionary is merged with the base logging configuration which defines
    the following:
    * A logging formatter intended for interactive use called
      ``console``.
    * A logging handler that writes to stderr called
      ``console`` which uses the formatter ``console``.
    * A logger with the name of this application set to ``DEBUG``
      level.
    This example adds a new handler that writes to a file:
    .. code-block:: python
       c.Application.logging_config = {
           'handlers': {
               'file': {
                   'class': 'logging.FileHandler',
                   'level': 'DEBUG',
                   'filename': '',
               }
           },
           'loggers': {
               '': {
                   'level': 'DEBUG',
                   # NOTE: if you don't list the default "console"
                   # handler here then it will be disabled
                   'handlers': ['console', 'file'],
               },
           }
       }
    Default: {}
--ServerApp.login_handler_class=
    ログインのハンドラクラス
    Default: 'jupyter_server.auth.login.LoginHandler'
--ServerApp.logout_handler_class=
    ログアウトのハンドラクラス
    Default: 'jupyter_server.auth.logout.LogoutHandler'
--ServerApp.max_body_size=
    Sets the maximum allowed size of the client request body, specified in the
    Content-Length request header field. If the size in a request exceeds the
    configured value, a malformed HTTP message is returned to the client.
    Note: max_body_size is applied even in streaming mode.
    Default: 536870912
--ServerApp.max_buffer_size=
    Gets or sets the maximum amount of memory, in bytes, that is allocated for
    use by the buffer manager.
    Default: 536870912
--ServerApp.min_open_files_limit=
    Gets or sets a lower bound on the open file handles process resource limit.
    This may need to be increased if you run into an OSError: [Errno 24] Too
    many open files. This is not applicable when running on Windows.
    Default: 0
--ServerApp.notebook_dir=
    DEPRECATED, use root_dir.
    Default: ''
--ServerApp.open_browser=
    Whether to open in a browser after starting.
                            The specific browser used is platform dependent and
                            determined by the python standard library `webbrowser`
                            module, unless it is overridden using the --browser
                            (ServerApp.browser) configuration option.
    Default: False
--ServerApp.password=
    Hashed password to use for web authentication.
                          To generate, type in a python/IPython shell:
                            from jupyter_server.auth import passwd; passwd()
                          The string should be of the form type:salt:hashed-
    password.
    Default: ''
--ServerApp.password_required=
    Forces users to use a password for the Jupyter server.
                          This is useful in a multi user environment, for instance when
                          everybody in the LAN can access each other's machine through ssh.
                          In such a case, serving on localhost is not secure since
                          any user can connect to the Jupyter server via ssh.
    Default: False
--ServerApp.port=
    The port the server will listen on (env: JUPYTER_PORT).
    Default: 0
--ServerApp.port_retries=
    The number of additional ports to try if the specified port is not available
    (env: JUPYTER_PORT_RETRIES).
    Default: 50
--ServerApp.preferred_dir=
    Preferred starting directory to use for notebooks and kernels.
    Default: ''
--ServerApp.pylab=
    非推奨: matplotlib を有効にするにはノートブックで %pylab または %matplotlib を実行して下さい。
    Default: 'disabled'
--ServerApp.quit_button=
    If True, display controls to shut down the Jupyter server, such as menu
    items or buttons.
    Default: True
--ServerApp.rate_limit_window=
    (sec) Time window used to
            check the message and data rate limits.
    Default: 3
--ServerApp.reraise_server_extension_failures=
    サーバ拡張の読み込み中に例外が発生しましたか?
    Default: False
--ServerApp.root_dir=
    ノートブックとカーネルが使うディレクトリ。
    Default: ''
--ServerApp.session_manager_class=
    セッションマネージャのクラス
    Default: 'builtins.object'
--ServerApp.show_config=
    Instead of starting the Application, dump configuration to stdout
    Default: False
--ServerApp.show_config_json=
    Instead of starting the Application, dump configuration to stdout (as JSON)
    Default: False
--ServerApp.shutdown_no_activity_timeout=
    Shut down the server after N seconds with no kernels or terminals running
    and no activity. This can be used together with culling idle kernels
    (MappingKernelManager.cull_idle_timeout) to shutdown the Jupyter server when
    it's not in use. This is not precisely timed: it may shut down up to a
    minute later. 0 (the default) disables this automatic shutdown.
    Default: 0
--ServerApp.sock=
    The UNIX socket the Jupyter server will listen on.
    Default: ''
--ServerApp.sock_mode=
    The permissions mode for UNIX socket creation (default: 0600).
    Default: '0600'
--ServerApp.ssl_options==...
    tornado HTTPServer の SSL オプションを指定します。
                詳しくは tornado のドキュメントを参照。
    Default: {}
--ServerApp.terminado_settings==...
    terminado のオーバーライドを指定します。現時は "shell_command " のみをサポートしています。
    Default: {}
--ServerApp.terminals_enabled=
    Set to False to disable terminals.
             This does *not* make the server more secure by itself.
             Anything the user can in a terminal, they can also do in a notebook.
             Terminals may also be automatically disabled if the terminado package
             is not available.
    Default: True
--ServerApp.token=
    Token used for authenticating first-time connections to the server.
            The token can be read from the file referenced by JUPYTER_TOKEN_FILE or set directly
            with the JUPYTER_TOKEN environment variable.
            When no password is enabled,
            the default is to generate a new, random token.
            Setting to an empty string disables authentication altogether, which
    is NOT RECOMMENDED.
    Default: ''
--ServerApp.tornado_settings==...
    Supply overrides for the tornado.web.Application that the Jupyter server
    uses.
    Default: {}
--ServerApp.trust_xheaders=
    X-Scheme/X-Forwarded-Proto および X-Real-Ip/X-Forwarded-For
    ヘッダーがアップストリームのリバースプロキシによって送信されたことを信頼するかどうか。プロキシが SSL を処理する場合に必要となります。
    Default: False
--ServerApp.use_redirect_file=
    Disable launching browser by redirect file
         For versions of notebook > 5.7.2, a security feature measure was added that
         prevented the authentication token used to launch the browser from being visible.
         This feature makes it difficult for other users on a multi-user system from
         running code in your Jupyter session as you.
         However, some environments (like Windows Subsystem for Linux (WSL) and Chromebooks),
         launching a browser using a redirect file can lead the browser failing to load.
         This is because of the difference in file structures/paths between the runtime and
         the browser.
         Disabling this setting to False will disable this behavior, allowing the browser
         to launch by using a URL and visible token (as before).
    Default: True
--ServerApp.webbrowser_open_new=
    Specify where to open the server on startup. This is the
            `new` argument passed to the standard library method `webbrowser.open`.
            The behaviour is not guaranteed, but depends on browser support. Valid
            values are:
             - 2 opens a new tab,
             - 1 opens a new window,
             - 0 opens in an existing window.
            See the `webbrowser.open` documentation for details.
    Default: 2
--ServerApp.websocket_compression_options=
    tornado の websocket 接続の圧縮オプションを指定します。
    この値は :meth:`WebSocketHandler.get_compression_options` から返されます。 None
    (default) の場合は圧縮は無効になります。 辞書 (空でも良い) の場合は圧縮が有効になります。
    詳細は tornado の WebSocketHandler.get_compression_options のドキュメントを参照。
    Default: None
--ServerApp.websocket_url=
    The base URL for websockets,
            if it differs from the HTTP server (hint: it almost certainly doesn't).
            Should be in the form of an HTTP origin: ws[s]://hostname[:port]
    Default: ''

Examples
--------

    jupyter lab                       # start JupyterLab
            jupyter lab --dev-mode            # start JupyterLab in development mode, with no extensions
            jupyter lab --core-mode           # start JupyterLab in core mode, with no extensions
            jupyter lab --app-dir=~/myjupyterlabapp # start JupyterLab with a particular set of extensions
            jupyter lab --certfile=mycert.pem # use SSL/TLS certificate

(pyJupyterLab) $ jupyter --paths

config:
    /home/tomoyan/.jupyter
    /home/tomoyan/pyJupyterLab/etc/jupyter
    /usr/local/etc/jupyter
    /etc/jupyter
data:
    /home/tomoyan/.local/share/jupyter
    /home/tomoyan/pyJupyterLab/share/jupyter
    /usr/local/share/jupyter
    /usr/share/jupyter
runtime:
    /home/tomoyan/.local/share/jupyter/runtime

構成ファイル config
データファイル data
ランタイムファイル runtime

Common Directories and File Locations — Jupyter Documentation 4.1.1 alpha documentation

(pyJupyterLab) $ jupyter lab path

Application directory:   /home/tomoyan/pyJupyterLab/share/jupyter/lab
User Settings directory: /home/tomoyan/.jupyter/lab/user-settings
Workspaces directory: /home/tomoyan/.jupyter/lab/workspaces

JupyterLab 3.0 新機能より事前ビルド済みの拡張機能を Python pip または conda で配布できるようになったので、ビルド済みの拡張機能をインストールする場合、Node.js は必要ありません🤔
事前ビルド されていない Extension をインストールするには Node.js をインストールする必要がある🤔
Overview of Extensions - Extension Developer Guide — JupyterLab 3.5.0b0 documentation より

jupyterlab/jupyterlab-git (jupyterlab/git)
pip で jupyterlab/git インストールする

(pyJupyterLab) $ pip install jupyterlab-git

Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple
Collecting jupyterlab-git
  Downloading https://www.piwheels.org/simple/jupyterlab-git/jupyterlab_git-0.36.0-py3-none-any.whl (1.2 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 418.1 kB/s eta 0:00:00
Requirement already satisfied: packaging in ./pyJupyterLab/lib/python3.7/site-packages (from jupyterlab-git) (21.0)
Requirement already satisfied: pexpect in ./pyJupyterLab/lib/python3.7/site-packages (from jupyterlab-git) (4.8.0)
Collecting nbdime~=3.1
  Downloading https://www.piwheels.org/simple/nbdime/nbdime-3.1.1-py2.py3-none-any.whl (5.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.3/5.3 MB 141.9 kB/s eta 0:00:00
Requirement already satisfied: nbformat in ./pyJupyterLab/lib/python3.7/site-packages (from jupyterlab-git) (5.1.3)
Requirement already satisfied: jupyter-server in ./pyJupyterLab/lib/python3.7/site-packages (from jupyterlab-git) (1.9.0)
Collecting jupyter-server-mathjax>=0.2.2
  Downloading https://www.piwheels.org/simple/jupyter-server-mathjax/jupyter_server_mathjax-0.2.5-py3-none-any.whl (3.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.1/3.1 MB 247.3 kB/s eta 0:00:00
Requirement already satisfied: pygments in ./pyJupyterLab/lib/python3.7/site-packages (from nbdime~=3.1->jupyterlab-git) (2.9.0)
Requirement already satisfied: jinja2>=2.9 in ./pyJupyterLab/lib/python3.7/site-packages (from nbdime~=3.1->jupyterlab-git) (3.1.1)
Requirement already satisfied: requests in ./pyJupyterLab/lib/python3.7/site-packages (from nbdime~=3.1->jupyterlab-git) (2.25.1)
Collecting colorama
  Downloading https://www.piwheels.org/simple/colorama/colorama-0.4.4-py2.py3-none-any.whl (16 kB)
Requirement already satisfied: tornado in ./pyJupyterLab/lib/python3.7/site-packages (from nbdime~=3.1->jupyterlab-git) (6.1)
Collecting GitPython!=2.1.4,!=2.1.5,!=2.1.6
  Downloading https://www.piwheels.org/simple/gitpython/GitPython-3.1.27-py3-none-any.whl (181 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 181.2/181.2 KB 230.9 kB/s eta 0:00:00
Requirement already satisfied: pyzmq>=17 in ./pyJupyterLab/lib/python3.7/site-packages (from jupyter-server->jupyterlab-git) (22.1.0)
Requirement already satisfied: anyio<4,>=3.1.0 in ./pyJupyterLab/lib/python3.7/site-packages (from jupyter-server->jupyterlab-git) (3.2.1)
Requirement already satisfied: terminado>=0.8.3 in ./pyJupyterLab/lib/python3.7/site-packages (from jupyter-server->jupyterlab-git) (0.10.1)
Requirement already satisfied: traitlets>=4.2.1 in ./pyJupyterLab/lib/python3.7/site-packages (from jupyter-server->jupyterlab-git) (5.0.5)
Requirement already satisfied: prometheus-client in ./pyJupyterLab/lib/python3.7/site-packages (from jupyter-server->jupyterlab-git) (0.11.0)
Requirement already satisfied: websocket-client in ./pyJupyterLab/lib/python3.7/site-packages (from jupyter-server->jupyterlab-git) (1.1.0)
Requirement already satisfied: ipython-genutils in ./pyJupyterLab/lib/python3.7/site-packages (from jupyter-server->jupyterlab-git) (0.2.0)
Requirement already satisfied: requests-unixsocket in ./pyJupyterLab/lib/python3.7/site-packages (from jupyter-server->jupyterlab-git) (0.2.0)
Requirement already satisfied: argon2-cffi in ./pyJupyterLab/lib/python3.7/site-packages (from jupyter-server->jupyterlab-git) (20.1.0)
Requirement already satisfied: jupyter-core>=4.6.0 in ./pyJupyterLab/lib/python3.7/site-packages (from jupyter-server->jupyterlab-git) (4.7.1)
Requirement already satisfied: nbconvert in ./pyJupyterLab/lib/python3.7/site-packages (from jupyter-server->jupyterlab-git) (6.1.0)
Requirement already satisfied: jupyter-client>=6.1.1 in ./pyJupyterLab/lib/python3.7/site-packages (from jupyter-server->jupyterlab-git) (6.1.12)
Requirement already satisfied: Send2Trash in ./pyJupyterLab/lib/python3.7/site-packages (from jupyter-server->jupyterlab-git) (1.7.1)
Requirement already satisfied: jsonschema!=2.5.0,>=2.4 in ./pyJupyterLab/lib/python3.7/site-packages (from nbformat->jupyterlab-git) (3.2.0)
Requirement already satisfied: pyparsing>=2.0.2 in ./pyJupyterLab/lib/python3.7/site-packages (from packaging->jupyterlab-git) (2.4.7)
Requirement already satisfied: ptyprocess>=0.5 in ./pyJupyterLab/lib/python3.7/site-packages (from pexpect->jupyterlab-git) (0.7.0)
Requirement already satisfied: idna>=2.8 in ./pyJupyterLab/lib/python3.7/site-packages (from anyio<4,>=3.1.0->jupyter-server->jupyterlab-git) (2.10)
Requirement already satisfied: sniffio>=1.1 in ./pyJupyterLab/lib/python3.7/site-packages (from anyio<4,>=3.1.0->jupyter-server->jupyterlab-git) (1.2.0)
Requirement already satisfied: typing-extensions in ./pyJupyterLab/lib/python3.7/site-packages (from anyio<4,>=3.1.0->jupyter-server->jupyterlab-git) (3.10.0.0)
Collecting gitdb<5,>=4.0.1
  Downloading https://www.piwheels.org/simple/gitdb/gitdb-4.0.9-py3-none-any.whl (63 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 63.1/63.1 KB 67.0 kB/s eta 0:00:00
Requirement already satisfied: MarkupSafe>=2.0 in ./pyJupyterLab/lib/python3.7/site-packages (from jinja2>=2.9->nbdime~=3.1->jupyterlab-git) (2.0.1)
Requirement already satisfied: importlib-metadata in ./pyJupyterLab/lib/python3.7/site-packages (from jsonschema!=2.5.0,>=2.4->nbformat->jupyterlab-git) (3.10.1)
Requirement already satisfied: six>=1.11.0 in ./pyJupyterLab/lib/python3.7/site-packages (from jsonschema!=2.5.0,>=2.4->nbformat->jupyterlab-git) (1.16.0)
Requirement already satisfied: setuptools in ./pyJupyterLab/lib/python3.7/site-packages (from jsonschema!=2.5.0,>=2.4->nbformat->jupyterlab-git) (40.8.0)
Requirement already satisfied: attrs>=17.4.0 in ./pyJupyterLab/lib/python3.7/site-packages (from jsonschema!=2.5.0,>=2.4->nbformat->jupyterlab-git) (21.2.0)
Requirement already satisfied: pyrsistent>=0.14.0 in ./pyJupyterLab/lib/python3.7/site-packages (from jsonschema!=2.5.0,>=2.4->nbformat->jupyterlab-git) (0.18.0)
Requirement already satisfied: python-dateutil>=2.1 in ./pyJupyterLab/lib/python3.7/site-packages (from jupyter-client>=6.1.1->jupyter-server->jupyterlab-git) (2.8.1)
Requirement already satisfied: cffi>=1.0.0 in ./pyJupyterLab/lib/python3.7/site-packages (from argon2-cffi->jupyter-server->jupyterlab-git) (1.14.5)
Requirement already satisfied: bleach in ./pyJupyterLab/lib/python3.7/site-packages (from nbconvert->jupyter-server->jupyterlab-git) (3.3.0)
Requirement already satisfied: pandocfilters>=1.4.1 in ./pyJupyterLab/lib/python3.7/site-packages (from nbconvert->jupyter-server->jupyterlab-git) (1.4.3)
Requirement already satisfied: nbclient<0.6.0,>=0.5.0 in ./pyJupyterLab/lib/python3.7/site-packages (from nbconvert->jupyter-server->jupyterlab-git) (0.5.3)
Requirement already satisfied: entrypoints>=0.2.2 in ./pyJupyterLab/lib/python3.7/site-packages (from nbconvert->jupyter-server->jupyterlab-git) (0.3)
Requirement already satisfied: testpath in ./pyJupyterLab/lib/python3.7/site-packages (from nbconvert->jupyter-server->jupyterlab-git) (0.5.0)
Requirement already satisfied: defusedxml in ./pyJupyterLab/lib/python3.7/site-packages (from nbconvert->jupyter-server->jupyterlab-git) (0.7.1)
Requirement already satisfied: jupyterlab-pygments in ./pyJupyterLab/lib/python3.7/site-packages (from nbconvert->jupyter-server->jupyterlab-git) (0.1.2)
Requirement already satisfied: mistune<2,>=0.8.1 in ./pyJupyterLab/lib/python3.7/site-packages (from nbconvert->jupyter-server->jupyterlab-git) (0.8.4)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in ./pyJupyterLab/lib/python3.7/site-packages (from requests->nbdime~=3.1->jupyterlab-git) (1.26.6)
Requirement already satisfied: chardet<5,>=3.0.2 in ./pyJupyterLab/lib/python3.7/site-packages (from requests->nbdime~=3.1->jupyterlab-git) (4.0.0)
Requirement already satisfied: certifi>=2017.4.17 in ./pyJupyterLab/lib/python3.7/site-packages (from requests->nbdime~=3.1->jupyterlab-git) (2021.5.30)
Requirement already satisfied: pycparser in ./pyJupyterLab/lib/python3.7/site-packages (from cffi>=1.0.0->argon2-cffi->jupyter-server->jupyterlab-git) (2.20)
Collecting smmap<6,>=3.0.1
  Downloading https://www.piwheels.org/simple/smmap/smmap-5.0.0-py3-none-any.whl (24 kB)
Requirement already satisfied: nest-asyncio in ./pyJupyterLab/lib/python3.7/site-packages (from nbclient<0.6.0,>=0.5.0->nbconvert->jupyter-server->jupyterlab-git) (1.5.1)
Requirement already satisfied: async-generator in ./pyJupyterLab/lib/python3.7/site-packages (from nbclient<0.6.0,>=0.5.0->nbconvert->jupyter-server->jupyterlab-git) (1.10)
Requirement already satisfied: webencodings in ./pyJupyterLab/lib/python3.7/site-packages (from bleach->nbconvert->jupyter-server->jupyterlab-git) (0.5.1)
Requirement already satisfied: zipp>=0.5 in ./pyJupyterLab/lib/python3.7/site-packages (from importlib-metadata->jsonschema!=2.5.0,>=2.4->nbformat->jupyterlab-git) (3.5.0)
Installing collected packages: smmap, colorama, gitdb, GitPython, jupyter-server-mathjax, nbdime, jupyterlab-git
Successfully installed GitPython-3.1.27 colorama-0.4.4 gitdb-4.0.9 jupyter-server-mathjax-0.2.5 jupyterlab-git-0.36.0 nbdime-3.1.1 smmap-5.0.0

TIOBE Index - TIOBE (プログラミング言語 人気ランキング)🤔🤔🤔

Python は標準で利用可能なので、それ以外の環境構築についてまとめています😊
Rust
COBOL
Bokeh

.NET Interactive は 2019/05/16 にオープンソース化された Try .NET(*1) を .NET Notebooks Preview 2 で名称変更(*2)したものである。Preview 2 では C#, F#, PowerShell に加えて nteract のサポートが追加された。

*1 Try .NET は 2017 年 9 月に Microsoft Docs で公開されたときは Azure コンテナで実行していたが、その後 Blazor と Web Assembly の実装に置き換えられた。(Blazor - Web ブラウザで動作する .NET Core 環境 )
*2 Try .NET は 2020 年 2 月 6 日の .NET Notebooks Preview 2 で正式名称が .NET Interactive に変更された。


.NET Interactive は 2021/03/04 現在 C#, F#, PowerShell, JavaScript, HTML, T-SQL をサポートしています🤤

.NET Interactive now ships with T-SQL support in addition to C#, F#, PowerShell, JavaScript, and HTML.
.NET Interactive with SQL!| .NET Notebooks in Visual Studio Code | .NET Blog (2021/03/04) より

Project Jupyter は IPython から 2015 年に分離されて始まったプロジェクトですが、IPython が最初に公開された 2001 年から数えても 10 年以上の歴史がある大きなプロジェクトなので、サブシステムごとに膨大なドキュメントが存在しています。
ひとまず、ドキュメントタイトルだけでも整理してみました。

Project Jupyter | Documentation より

全般 (General) ユーザーインターフェイス (User Interfaces)
Project-wide Documentation

(jupyter@Read the Docs)
Jupyter Project Documentation - Jupyter Documentation 4.1.1 alpha documentation
先ずはここから読み進めて行きましょう。Jupyter プロジェクト ドキュメントのサブプロジェクトも含めたドキュメント類の読み進め方など。

JupyterLab

(jupyterlab@Read the Docs)
JupyterLab Documentation - JupyterLab 4.0.0a15 documentation
JupyterLab の入門、ユーザーガイド、Extension 開発者ガイド、JupyterLab 開発者ガイド。

Jupyter Notebook

(jupyter-notebook@Read the Docs)
The Jupyter Notebook - Jupyter Notebook 6.4.6 documentation

Contributing to Jupyter

(jupyter@Read the Docs)
Contributing - Jupyter Documentation 4.1.1 alpha documentation

Jupyter Console

(jupyter-console@Read the Docs)
Jupyter console 6.0 - Jupyter console 6.0.0 documentation

Qt Console

(qtconsole@Read the Docs)
The Qt Console for Jupyter - Jupyter Qt Console 5.1.1 documentation

IPython カーネル (Kernels)
IPython

(ipython@Read the Docs)
IPython Documentation - IPython 7.29.0 documentation

IPython

(ipython@Read the Docs)
IPython Documentation - IPython 7.29.0 documentation

IRkernel

(irkernel@Read the Docs)
IRkernel

IPyParallel

(ipyparallel@Read the Docs)
Using IPython for parallel computing - ipyparallel 8.0.0 documentation

IJulia

(github.com/JuliaLang/IJulia.jl)
GitHub - JuliaLang/IJulia.jl: Julia kernel for Jupyter

Community maintained kernels

(github.com/jupyter/jupyter/wiki/Jupyter-kernels)
Jupyter kernels · jupyter/jupyter Wiki

Traitlets

(traitlets@Read the Docs)
Traitlets - traitlets 5.1.1 documentation

ウィジェット (Widgets) Notebook ドキュメント (Notebook Documents)
IPyWidgets/Jupyter Widgets

(ipywidgets@Read the Docs)
ipywidgetsa - Jupyter Widgets 8.0.0b0 documentation

nbconvert

(nbconvert@Read the Docs)
nbconvert: Convert Notebooks to other formats - nbconvert 6.3.0 documentation

widget-cookiecutter

(github.com/jupyter-widgets/widget-cookiecutter)
GitHub - jupyter-widgets/widget-cookiecutter: A cookiecutter template for creating a custom Jupyter widget project.

nbformat

(nbformat@Read the Docs)
The Jupyter Notebook Format - nbformat 5.1 documentation

All Widget Projects...

(github.com/jupyter-widgets)
Jupyter Widgets

nbviewer

(github.com/jupyter/nbviewer)
GitHub - jupyter/nbviewer: nbconvert as a web service: Render Jupyter Notebooks as static web pages

JupyterHub デプロイメント (Deployment)
JupyterHub

(jupyterhub@Read the Docs)
JupyterHub - JupyterHub 1.5.0 documentation

Docker Stacks

(jupyter-docker-stacks@Read the Docs)
Jupyter Docker Stacks - docker-stacks latest documentation

Zero to JupyterHub

(zero-to-jupyterhub.readthedocs.io)
Zero to JupyterHub with Kubernetes - Zero to JupyterHub with Kubernetes documentation

Kernel Gateway

(jupyter.readthedocs.io)
Jupyter Kernel Gateway - Jupyter Kernel Gateway 2.6.0.dev0 documentation

nbgrader

(nbgrader@Read the Docs)
nbgrader - nbgrader 0.7.0.dev documentation

Enterprise Gateway

(jupyter-enterprise-gateway@Read the Docs)
Jupyter Enterprise Gateway - Jupyter Enterprise Gateway 3.0.0.dev0 documentation

All JupyterHub Projects...

(github.com/jupyterhub)
JupyterHub

基盤 (Foundations)
Jupyter Client

(jupyter-client@Read the Docs)
Jupyter Client 7.1 - jupyter_client 7.1.0 documentation

Jupyter Core

(jupyter-core@Read the Docs)
jupyter_core 4.9 - jupyter_core 4.9.0rc0 documentation

Jupyter Alabaster Theme

(jupyter-alabaster-theme@Read the Docs)
Overview - Jupyter Theme 0.5.0 documentation

ヒープメモリー不足の場合

(pyJupyterLab) $ jupyter lab build

[LabBuildApp] JupyterLab 3.0.16
[LabBuildApp] Building in /home/tomoyan/pyJupyterLab/share/jupyter/lab
[LabBuildApp] Building jupyterlab assets (production, minimized)
Build failed.
Troubleshooting: If the build failed due to an out-of-memory error, you
may be able to fix it by disabling the `dev_build` and/or `minimize` options.

If you are building via the `jupyter lab build` command, you can disable
these options like so:

jupyter lab build --dev-build=False --minimize=False

You can also disable these options for all JupyterLab builds by adding these
lines to a Jupyter config file named `jupyter_config.py`:

c.LabBuildApp.minimize = False
c.LabBuildApp.dev_build = False

If you don't already have a `jupyter_config.py` file, you can create one by
adding a blank file of that name to any of the Jupyter config directories.
The config directories can be listed by running:

jupyter --paths

Explanation:

- `dev-build`: This option controls whether a `dev` or a more streamlined
`production` build is used. This option will default to `False` (i.e., the
`production` build) for most users. However, if you have any labextensions
installed from local files, this option will instead default to `True`.
Explicitly setting `dev-build` to `False` will ensure that the `production`
build is used in all circumstances.

- `minimize`: This option controls whether your JS bundle is minified
during the Webpack build, which helps to improve JupyterLab's overall
performance. However, the minifier plugin used by Webpack is very memory
intensive, so turning it off may help the build finish successfully in
low-memory environments.

An error occured.
RuntimeError: JupyterLab failed to build
See the log file for details:  /tmp/jupyterlab-debug-yf057lv3.log

/tmp/jupyterlab-debug-yf057lv3.log
[LabBuildApp] Building in /home/tomoyan/pyJupyterLab/share/jupyter/lab
[LabBuildApp] Node v16.5.0
 
[LabBuildApp] Yarn configuration loaded.
[LabBuildApp] Building jupyterlab assets (production, minimized)
[LabBuildApp] > node /home/tomoyan/pyJupyterLab/lib64/python3.9/site-packages/jupyterlab/staging/yarn.js install --non-interactive
[LabBuildApp] yarn install v1.21.1
[1/5] Validating package.json...
[2/5] Resolving packages...
success Already up-to-date.
Done in 0.55s.
 
[LabBuildApp] > node /home/tomoyan/pyJupyterLab/lib64/python3.9/site-packages/jupyterlab/staging/yarn.js yarn-deduplicate -s fewer --fail
[LabBuildApp] yarn run v1.21.1
$ /home/tomoyan/pyJupyterLab/share/jupyter/lab/staging/node_modules/.bin/yarn-deduplicate -s fewer --fail
Done in 0.29s.
 
[LabBuildApp] > node /home/tomoyan/pyJupyterLab/lib64/python3.9/site-packages/jupyterlab/staging/yarn.js run build:prod:minimize
[LabBuildApp] yarn run v1.21.1
$ webpack --config webpack.prod.minimize.config.js
 
<--- Last few GCs --->
 
[4455:0x5f7c1d0]    78804 ms: Scavenge 478.9 (492.1) -> 478.8 (493.3) MB, 1.7 / 0.0 ms  (average mu = 0.261, current mu = 0.131) allocation failure 
[4455:0x5f7c1d0]    78807 ms: Scavenge 479.8 (493.3) -> 479.7 (498.1) MB, 2.2 / 0.0 ms  (average mu = 0.261, current mu = 0.131) allocation failure 
 
 
<--- JS stacktrace --->
 
FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
 1: 0xb22900 node::Abort() [webpack]
 2: 0xa3c161 node::FatalError(char const*, char const*) [webpack]
 3: 0xd0b15e v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [webpack]
 4: 0xd0b4d7 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [webpack]
 5: 0xeec565  [webpack]
 6: 0xefb295 v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [webpack]
 7: 0xefe38c v8::internal::Heap::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [webpack]
 8: 0xec2dbc v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationType, v8::internal::AllocationOrigin) [webpack]
 9: 0x123977b v8::internal::Runtime_AllocateInYoungGeneration(int, unsigned long*, v8::internal::Isolate*) [webpack]
10: 0x16437d9  [webpack]
error Command failed with signal "SIGABRT".
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
 
[LabBuildApp] JupyterLab failed to build
[LabBuildApp] Traceback (most recent call last):
 
[LabBuildApp]   File "/home/tomoyan/pyJupyterLab/lib64/python3.9/site-packages/jupyterlab/debuglog.py", line 47, in debug_logging
    yield
 
[LabBuildApp]   File "/home/tomoyan/pyJupyterLab/lib64/python3.9/site-packages/jupyterlab/labapp.py", line 166, in start
    raise e
 
[LabBuildApp]   File "/home/tomoyan/pyJupyterLab/lib64/python3.9/site-packages/jupyterlab/labapp.py", line 162, in start
    build(name=self.name, version=self.version,
 
[LabBuildApp]   File "/home/tomoyan/pyJupyterLab/lib64/python3.9/site-packages/jupyterlab/commands.py", line 469, in build
    return handler.build(name=name, version=version, static_url=static_url,
 
[LabBuildApp]   File "/home/tomoyan/pyJupyterLab/lib64/python3.9/site-packages/jupyterlab/commands.py", line 678, in build
    raise RuntimeError(msg)
 
[LabBuildApp] RuntimeError: JupyterLab failed to build
 
[LabBuildApp] Exiting application: JupyterLab

ログファイルに以下のエラーが載っている場合は、ヒープメモリー不足である。
FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory

その場合は node--max-old-space-size オプションを設定してから JupyterLab をビルドしてみる。

(pyJupyterLab) $ echo 'export NODE_OPTIONS="--max-old-space-size=1024"' >> ~/.bashrc
(pyJupyterLab) $ . ~/.bashrc
(pyJupyterLab) $ jupyter lab build

システムのスワップメモリー不足の場合

(pyJupyterLab) $ jupyter lab build

無言で Linux の TTY ごと落ちてログイン画面になる😅
※おそらく、/tmp になんらかの jupyterlab-debug-*.log が記録されている。

/tmp/jupyterlab-debug-a8s49iu7.log
[LabBuildApp] Building in /home/tomoyan/pyJupyterLab/share/jupyter/lab
[LabBuildApp] Node v16.5.0
 
[LabBuildApp] Yarn configuration loaded.
[LabBuildApp] Building jupyterlab assets (production, minimized)
[LabBuildApp] > node /home/tomoyan/pyJupyterLab/lib64/python3.9/site-packages/jupyterlab/staging/yarn.js install --non-interactive
[LabBuildApp] yarn install v1.21.1
[1/5] Validating package.json...
[2/5] Resolving packages...
success Already up-to-date.
Done in 0.64s.
 
[LabBuildApp] > node /home/tomoyan/pyJupyterLab/lib64/python3.9/site-packages/jupyterlab/staging/yarn.js yarn-deduplicate -s fewer --fail
[LabBuildApp] yarn run v1.21.1
$ /home/tomoyan/pyJupyterLab/share/jupyter/lab/staging/node_modules/.bin/yarn-deduplicate -s fewer --fail
Done in 0.35s.
 
[LabBuildApp] > node /home/tomoyan/pyJupyterLab/lib64/python3.9/site-packages/jupyterlab/staging/yarn.js run build:prod:minimize

システムのスワップメモリーが 1GB しか無い場合は、JupyterLab のビルドでスワップメモリーを使い果たすので、スワップメモリーを増やす必要がある。
Fedora 33 以降で標準になった ZRAM スワップの容量を拡張する

JupyterLabのすゝめ - Qiita
Spyder IDE
Installing the IPython kernel — IPython 8.0.0.dev documentation

.NET Interactive with SQL!| .NET Notebooks in Visual Studio Code | .NET Blog (2021/03/04)
.NET Interactive Preview 3: VS Code Insiders and .NET Polyglot Notebooks | .NET Blog (2020/09/30)
.NET Interactive: .NET Coreを使用したJupyter Notebook - プレビュー2 | InfoQ (2020/05/10)
.NET Interactive is here! | .NET Notebooks Preview 2 | .NET Blog (2020/02/06)

Hydrogen: Interactive computing in Atom | by Lukas Geiger | nteract
hydrogen | packages - Atom

Built-in magic commands — IPython 7.25.0 documentation
Markdown記法 サンプル集 - Qiita
Jupyterでコンテナーを入れ子の枠で表現(図式化)、とそれを作る過程で調べたこと - Qiita

Create Virtual Environment using “virtualenv” and add it to Jupyter Notebook | by B. Chen | Towards Data Science

node.js の --max-old-space-size のデフォルト値は 1400MB - Qiita

プログラミング言語のコードを逐次実行できるノートブック環境「JupyterLab」がスタンドアロンアプリに/Windows、Mac、Linux(Debian/Fedora)で利用可能

J.P. Morgan Japan | 会社情報

はじめに — マンガと学ぶデータビジュアライゼーション
GitHub - nlp-with-transformers/notebooks: Jupyter notebooks for the Natural Language Processing with Transformers book
GitHub - philipturner/swift-colab: Swift kernel for Google Colaboratory

How to Automate a Jupyter Notebook? | by Rahul Lalchandani | Analytics Vidhya | Mediumz
Jupyter だけで機械学習を実サービス展開できる基盤
Home - papermill 2.4.0 documentation

jtpio/ipylab: Control JupyterLab from Python Notebooks with Jupyter Widgets 🧪 ☢️ 🐍 - GitHub
JupyterLab - JupyterLab のおすすめの拡張一覧 - pystyle

Spyder IDE ❓って初めて知りましたけど、有名なのでしょうかねぇ🤔 / Twitter
これもJupyterLab用のPowerShell Kernelの実装ですが、dotnet公式で対応していて以前はプレビューリリースの状態だったようですが、今はこちらが主流になって来ているのかな🤔 .NET Interactive / Twitter
.NET InteractiveはVisual Studio CodeのネイティブNotebook機能として実装されたものですねぇ🤔 MicrosoftもJupyterLabのNotebookを、VS Codeのインタラクティブ実行可能なNotebook機能として取り入れているということですねぇ🥰 / Twitter(Try .NET から名称変更されました)
投資銀行がオープンソース❓Jupyter関係の開発していますねぇ🤔 JPモルガンさんは投資家さんならみな良くご存じのゴールドマン・サックスとかモルガン・スタンレーみたいな世界的な金融グループですねぇ🤔 Project Jupyterは海外ではかなり注目プロジェクトということですね😲 / Twitter
Project Jupyterがすごい巨大化しているような感じがしていたんですよねぇ🤔おそらく世界的なスタンダードということだと思いますけどねぇ🤔 NumFOCUS Foundationさんの支援プロジェクトで...🤔 / Twitter
Python関係の科学技術に関連したオープンソースがいっぱいです🤔 / Twitter
なんですと❓2021/03/04のBlogで.NET Interactiveには、C#、F#、PowerShell、JavaScript、およびHTMLに加えて、T-SQLサポートが付属してるって発表していますねぇ😅💦 / Twitter

JupyterLab Desktop が9月にリリースされましたけど、Electron ベースの JupyterLab で GUI アプリとしてインストール出来て良いですねぇ🥰Linux でのインストールだけ追記しておきましたけど、macosもWindowsもあるので良さげです😊HyperとConflictどうしよう🤔 / Twitter
jupyterlab-desktopではExtension managerが無効化されてる😱😢😢😢😢😢😢😭Extension manager is currently disabled in JupyterLab-app, but it is something that we will definitely want to enable in the future. / Twitter

JupyterLabにTheme入れてビルドしたら、サーバーのコンソールのプロセスごとご臨終😱😅原因はZRAMスワップの3倍盛り設定が消えてました😅3倍設定するとメモリー1GBのしょぼい仮想サーバーでも圧縮メモリーテクノロジーで実質2.8GBまでソフトウェアメモリー増設されます😁

文献は古いけど、JupyterLabのテーマを弄ってWebフォントをあてる手がかりになりそう🤔 まだ、スマホでCOBOL書こうとしてるのか😅
JupyterLabでHTMLを編集しながらリアルタイムで表示出来ますが、この文献で紹介してるプラグインは、既に本家にマージされているから、何もインストール無しに同じことが出来るようになってる事がわかりました😊
JupyterLabでLess CSSでけた🤤less.jsをcdnからロードする🤔lessを書く🤤refreshStylesで埋め込まれたLessを有効化する🤔
または、この方法🤔LessCSSを書いてからless.jsをcdnからロードする🤔CSSもJSもLessCSSも現時点のJupyterLabでは、HTMLに埋め込むしかない😅

  • python/jupyterlab.txt
  • 最終更新: 2022/11/10 07:37
  • by ともやん