python:jupyterlab

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

本家: Project Jupyter | Home (翻訳)
ソースコード: jupyterlab/jupyterlab: JupyterLab computational environment.
ドキュメント: Project Jupyter | Documentation (翻訳)
マイルストーン: Milestones - jupyterlab/jupyterlab · GitHub

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

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

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

本家: mybinder.org
ソースコード: jupyterhub/binderhub: Run your code in the cloud, with technology so advanced, it feels like magic!
ドキュメント: Binder Documentation — Binder 0.1b documentation

GitHub Binder: jupyterlab/jupyterlab-demo: Demonstrations of JupyterLab
mybinder: Try JupyterLab - Binder をクリックする。
(GitHub Binder: ipython/ipython-in-depth: IPython and Jupyter in-depth Tutorial, first presented at PyCon 2012
mybinder: Try Classic Notebook - Binder で Jupyter Notebook も試すことができる)

Project Jupyter | Try Jupyter 001

配布形態 補則 用途
JupyterLab Desktop Electron ベースの JupyterLab インストールが簡単で OS 向けのインストーラで直ぐにインストールできる。
JupyterLab Web ブラウザ版 (pip) Web ブラウザ ベースの JupyterLab Python がインストールされている OS であれば pip コマンドでインストールできます。
Web ベースであるためリモートマシン上の JupyterLab にもブラウザでアクセスできる。

JupyterLab Desktop 001

JupyterLab Desktop 翻訳GUI 環境にデスクトップアプリとしてインストール可能な JupyterLab です。
リモートサーバーなどにインストールされている JupyterLab にも接続することができます。
2021/9/22 に JupyterLab Desktop がリリースされて、Electron ベースの JupyterLab が利用可能になりました。
Releases · jupyterlab/jupyterlab-desktop

JupyterLab Desktop App now available! 2021/09/22
Introducing the new JupyterLab Desktop! 2023/02/09

最新版のダウンロード 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-x64.rpm -y

メタデータの期限切れの最終確認: 0:24:19 前の 2024年02月04日 10時18分35秒 に実施しました。
JupyterLab-Setup-Fedora-x64.rpm                                               1.9 MB/s | 285 MB     02:32    
依存関係が解決しました。
==============================================================================================================
 パッケージ                      アーキテクチャー    バージョン               リポジトリー              サイズ
==============================================================================================================
インストール:
 jupyterlab-desktop              x86_64              4.0.12~1-1               @commandline              285 M

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

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

インストール済み:
  jupyterlab-desktop-4.0.12~1-1.x86_64                                                                        

完了しました!

Fedora での更新

現時点ではそのままアップグレードするとシンボルリンクの削除に失敗するので、一旦パッケージを削除してから最新版をインストールする🤔
https://github.com/jupyterlab/jupyterlab-desktop/#installation
https://github.com/jupyterlab/jupyterlab-desktop/blob/master/user-guide.md#uninstalling-jupyterlab-desktop

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

Fedora 38 - x86_64 - Updates                                                  3.8 kB/s | 5.9 kB     00:01    
Fedora 38 - x86_64 - Updates                                                  369 kB/s | 3.2 MB     00:08    
Fedora Modular 38 - x86_64 - Updates                                          8.5 kB/s | 5.2 kB     00:00    
JupyterLab-Setup-Fedora.rpm                                                   2.0 MB/s | 283 MB     02:18    
依存関係が解決しました。
==============================================================================================================
 パッケージ                      アーキテクチャー    バージョン               リポジトリー              サイズ
==============================================================================================================
アップグレード:
 jupyterlab-desktop              x86_64              4.0.11~1-1               @commandline              283 M

トランザクションの概要
==============================================================================================================
アップグレード  1 パッケージ

合計サイズ: 283 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                                                      1/1 
  アップグレード中 : jupyterlab-desktop-4.0.11~1-1.x86_64                                                 1/2 
  scriptletの実行中: jupyterlab-desktop-4.0.11~1-1.x86_64                                                 1/2 
ln: シンボリックリンク '/usr/bin/jlab' の作成に失敗しました: ファイルが存在します

  整理             : jupyterlab-desktop-4.0.7~1-1.x86_64                                                  2/2 
  scriptletの実行中: jupyterlab-desktop-4.0.7~1-1.x86_64                                                  2/2 
警告: %postun(jupyterlab-desktop-4.0.7~1-1.x86_64) スクリプトの実行に失敗しました、終了ステータス 2

Error in POSTUN scriptlet in rpm package jupyterlab-desktop
  検証             : jupyterlab-desktop-4.0.11~1-1.x86_64                                                 1/2 
  検証             : jupyterlab-desktop-4.0.7~1-1.x86_64                                                  2/2 

アップグレード済み:
  jupyterlab-desktop-4.0.11~1-1.x86_64                                                                        

完了しました!

パッケージ削除、シンボルリンク削除、再インストールをコマンド一発で行う😉

$ sudo sh -c 'rpm -e jupyterlab-desktop; rm /usr/bin/jlab; dnf install https://github.com/jupyterlab/jupyterlab-desktop/releases/latest/download/JupyterLab-Setup-Fedora-x64.rpm -y'

警告: %postun(jupyterlab-desktop-4.0.12~1-1.x86_64) スクリプトの実行に失敗しました、終了ステータス 2
メタデータの期限切れの最終確認: 0:38:24 前の 2024年02月04日 10時18分35秒 に実施しました。
JupyterLab-Setup-Fedora-x64.rpm                                               1.9 MB/s | 285 MB     02:28    
依存関係が解決しました。
==============================================================================================================
 パッケージ                      アーキテクチャー    バージョン               リポジトリー              サイズ
==============================================================================================================
インストール:
 jupyterlab-desktop              x86_64              4.0.12~1-1               @commandline              285 M

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

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

インストール済み:
  jupyterlab-desktop-4.0.12~1-1.x86_64                                                                        

完了しました!

シンボルリンクは/opt/JupyterLab/resources/app/jlabへのリンクである🤔

$ ls -al /usr/bin/jlab

lrwxrwxrwx 1 root root 34 11月 29 18:01 /usr/bin/jlab -> /opt/JupyterLab/resources/app/jlab

JupyterLab Desktop の使い方

公式: jupyterlab-desktop/user-guide.md at master · jupyterlab/jupyterlab-desktop

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

JupyterLab Desktop 001

Python 環境が見つかりません。バンドルされたインストーラーを使用してインストールするか、デフォルトの Python 環境を変更します。

⚠ Python environment not found. Install using the bundled installer or Change the default Python environment

Install using the bundled installer をクリックして、ローカルの Python 環境をインストールすると Start の各項目がすべて使えるようになります。

JupyterLab Desktop 002

JupyterLab Desktop 003

作成された Python 環境は、以下のコマンドで Python 環境構成を表示することで確認できる。
Note: これは実験的な機能です。😅
公式: Python environment management using CLI - jupyterlab-desktop/user-guide.md at master · jupyterlab/jupyterlab-desktop

$ jlab env info

Note: This is an experimental feature.
Default Python environment path:
  "/home/tomoyan/.config/jupyterlab-desktop/jlab_server/" [exists]
Bundled Python environment installation path:
  "/home/tomoyan/.config/jupyterlab-desktop/jlab_server" [exists]
Base conda environment path:
  "/home/tomoyan/.config/jupyterlab-desktop/jlab_server/" [exists]
System Python path:
  "/usr/bin/python" [exists]

JupyterLab Desktop の conda 環境 (jlab_server) の日本語化

JupyterLab Desktop 001

JupyterLab Desktop はバンドルインストーラーが生成した conda 環境 (jlab_server) を使用しているので、conda 環境に language-pack をインストールすると日本語化できる🤔
jlab env info コマンドでバンドルインストーラーが生成した conda 環境のフルパスを調べる🤔

$ jlab env info

Note: This is an experimental feature.
Default Python environment path:
  "/home/tomoyan/.config/jupyterlab-desktop/jlab_server/" [exists]
Bundled Python environment installation path:
  "/home/tomoyan/.config/jupyterlab-desktop/jlab_server" [exists]
Base conda environment path:
  "/home/tomoyan/.config/jupyterlab-desktop/jlab_server/" [exists]
System Python path:
  "/usr/bin/python" [exists]

micromambamambaconda の何れかで conda 環境をアクティブ化して jupyterlab-language-pack-ja-JP をインストールする🤔

$ micromamba activate ~/.config/jupyterlab-desktop/jlab_server

(/home/tomoyan/.config/jupyterlab-desktop/jlab_server) $ micromamba install --channel conda-forge jupyterlab-language-pack-ja-JP

conda-forge/noarch                                  12.7MB @   1.6MB/s  8.2s
conda-forge/linux-64                                30.8MB @   2.1MB/s 15.1s

Pinned packages:
  - python 3.8.*


Transaction

  Prefix: /home/tomoyan/.config/jupyterlab-desktop/jlab_server

  Updating specs:

   - jupyterlab-language-pack-ja-JP


  Package                             Version  Build         Channel         Size
───────────────────────────────────────────────────────────────────────────────────
  Install:
───────────────────────────────────────────────────────────────────────────────────

  + jupyterlab-language-pack-ja-jp  4.0.post5  pyh87cfba7_0  conda-forge     48kB

  Summary:

  Install: 1 packages

  Total download: 48kB

───────────────────────────────────────────────────────────────────────────────────


Confirm changes: [Y/n] 

Transaction starting
jupyterlab-language-pack-ja-jp                      47.8kB @ 126.0kB/s  0.4s
Linking jupyterlab-language-pack-ja-jp-4.0.post5-pyh87cfba7_0

Transaction finished

To activate this environment, use:

    micromamba activate /home/tomoyan/.config/jupyterlab-desktop/jlab_server

Or to execute a single command in this environment, use:

    micromamba run -p /home/tomoyan/.config/jupyterlab-desktop/jlab_server mycommand

(/home/tomoyan/.config/jupyterlab-desktop/jlab_server) $ micromamba deactivate
$

conda 環境 (jlab_server) 内の JupyterLab の更新

micromambamambaconda の何れかで conda 環境をアクティブ化して JupyterLab を更新する(※要再スタート)🤔

$ micromamba activate ~/.config/jupyterlab-desktop/jlab_server

(/home/tomoyan/.config/jupyterlab-desktop/jlab_server) $ micromamba update jupyterlab

conda-forge/noarch                                  13.3MB @   2.1MB/s  6.5s
conda-forge/linux-64                                32.1MB @   1.5MB/s 21.7s

Pinned packages:
  - python 3.8.*

Transaction

  Prefix: /home/tomoyan/.config/jupyterlab-desktop/jlab_server

  Updating specs:

   - jupyterlab


  Package       Version  Build         Channel           Size
───────────────────────────────────────────────────────────────
  Upgrade:
───────────────────────────────────────────────────────────────

  - jupyterlab    4.0.9  pyhd8ed1ab_0  conda-forge     Cached
  + jupyterlab   4.0.11  pyhd8ed1ab_0  conda-forge        6MB

  Summary:

  Upgrade: 1 packages

  Total download: 6MB

───────────────────────────────────────────────────────────────


Confirm changes: [Y/n] 

Transaction starting
jupyterlab                                           5.9MB @   1.1MB/s  5.5s
Changing jupyterlab-4.0.9-pyhd8ed1ab_0 ==> jupyterlab-4.0.11-pyhd8ed1ab_0

Transaction finished

To activate this environment, use:

    micromamba activate /home/tomoyan/.config/jupyterlab-desktop/jlab_server

Or to execute a single command in this environment, use:

    micromamba run -p /home/tomoyan/.config/jupyterlab-desktop/jlab_server mycommand

(/home/tomoyan/.config/jupyterlab-desktop/jlab_server) $ micromamba deactivate
$

JupyterLab Desktop の DevTools は セッションメニューにある🤔

Open Developer Toolsから開く🤔

Open Developer Tools

Open Developer Tools

Python 環境を pipx で構築

Python 環境の変更

公式: jupyterlab-desktop/user-guide.md at master · jupyterlab/jupyterlab-desktop (翻訳)
How to create a Custom Python Environment - jupyterlab-desktop/user-guide.md

$ python -m venv pyJupyterLabDesktopEnv
$ . pyJupyterLabDesktopEnv/bin/activate
(pyJupyterLabDesktopEnv) $ pip install -U pip

Requirement already satisfied: pip in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (22.2.2)
Collecting pip
  Using cached pip-23.0.1-py3-none-any.whl (2.1 MB)
Installing collected packages: pip
  Attempting uninstall: pip
    Found existing installation: pip 22.2.2
    Uninstalling pip-22.2.2:
      Successfully uninstalled pip-22.2.2
Successfully installed pip-23.0.1

(pyJupyterLabDesktopEnv) $ pip install jupyterlab==3.6.1

Collecting jupyterlab==3.6.1
  Using cached jupyterlab-3.6.1-py3-none-any.whl (8.9 MB)
Collecting ipython
  Using cached ipython-8.12.0-py3-none-any.whl (796 kB)
Collecting packaging
  Using cached packaging-23.0-py3-none-any.whl (42 kB)
Collecting tornado>=6.1.0
  Using cached tornado-6.2-cp37-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (423 kB)
Collecting jupyter-core
  Using cached jupyter_core-5.3.0-py3-none-any.whl (93 kB)
Collecting jupyterlab-server~=2.19
  Using cached jupyterlab_server-2.22.0-py3-none-any.whl (57 kB)
Collecting jupyter-server<3,>=1.16.0
  Using cached jupyter_server-2.5.0-py3-none-any.whl (366 kB)
Collecting jupyter-ydoc~=0.2.2
  Using cached jupyter_ydoc-0.2.3-py3-none-any.whl (5.9 kB)
Collecting jupyter-server-ydoc<0.7.0,>=0.6.0
  Using cached jupyter_server_ydoc-0.6.1-py3-none-any.whl (11 kB)
Collecting nbclassic
  Using cached nbclassic-0.5.5-py3-none-any.whl (10.0 MB)
Collecting notebook<7
  Using cached notebook-6.5.4-py3-none-any.whl (529 kB)
Collecting jinja2>=2.1
  Using cached Jinja2-3.1.2-py3-none-any.whl (133 kB)
Collecting MarkupSafe>=2.0
  Using cached MarkupSafe-2.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (27 kB)
Collecting anyio>=3.1.0
  Using cached anyio-3.6.2-py3-none-any.whl (80 kB)
Collecting argon2-cffi
  Using cached argon2_cffi-21.3.0-py3-none-any.whl (14 kB)
Collecting jupyter-client>=7.4.4
  Using cached jupyter_client-8.1.0-py3-none-any.whl (102 kB)
Collecting jupyter-events>=0.4.0
  Using cached jupyter_events-0.6.3-py3-none-any.whl (18 kB)
Collecting jupyter-server-terminals
  Using cached jupyter_server_terminals-0.4.4-py3-none-any.whl (13 kB)
Collecting nbconvert>=6.4.4
  Downloading nbconvert-7.3.1-py3-none-any.whl (284 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 284.1/284.1 kB 1.1 MB/s eta 0:00:00
Collecting nbformat>=5.3.0
  Using cached nbformat-5.8.0-py3-none-any.whl (77 kB)
Collecting prometheus-client
  Using cached prometheus_client-0.16.0-py3-none-any.whl (122 kB)
Collecting pyzmq>=24
  Using cached pyzmq-25.0.2-cp311-cp311-manylinux_2_28_x86_64.whl (1.1 MB)
Collecting send2trash
  Using cached Send2Trash-1.8.0-py3-none-any.whl (18 kB)
Collecting terminado>=0.8.3
  Using cached terminado-0.17.1-py3-none-any.whl (17 kB)
Collecting traitlets>=5.6.0
  Using cached traitlets-5.9.0-py3-none-any.whl (117 kB)
Collecting websocket-client
  Using cached websocket_client-1.5.1-py3-none-any.whl (55 kB)
Collecting platformdirs>=2.5
  Using cached platformdirs-3.2.0-py3-none-any.whl (14 kB)
Collecting jupyter-server-fileid<1,>=0.6.0
  Downloading jupyter_server_fileid-0.9.0-py3-none-any.whl (15 kB)
Collecting ypy-websocket<0.9.0,>=0.8.2
  Using cached ypy_websocket-0.8.4-py3-none-any.whl (10 kB)
Collecting y-py<0.6.0,>=0.5.3
  Downloading y_py-0.5.9-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.6/1.6 MB 2.1 MB/s eta 0:00:00
Collecting babel>=2.10
  Using cached Babel-2.12.1-py3-none-any.whl (10.1 MB)
Collecting json5>=0.9.0
  Using cached json5-0.9.11-py2.py3-none-any.whl (19 kB)
Collecting jsonschema>=4.17.3
  Using cached jsonschema-4.17.3-py3-none-any.whl (90 kB)
Collecting requests>=2.28
  Using cached requests-2.28.2-py3-none-any.whl (62 kB)
Collecting ipython-genutils
  Using cached ipython_genutils-0.2.0-py2.py3-none-any.whl (26 kB)
Collecting nest-asyncio>=1.5
  Using cached nest_asyncio-1.5.6-py3-none-any.whl (5.2 kB)
Collecting ipykernel
  Using cached ipykernel-6.22.0-py3-none-any.whl (149 kB)
Collecting notebook-shim>=0.1.0
  Using cached notebook_shim-0.2.2-py3-none-any.whl (13 kB)
Collecting backcall
  Using cached backcall-0.2.0-py2.py3-none-any.whl (11 kB)
Collecting decorator
  Using cached decorator-5.1.1-py3-none-any.whl (9.1 kB)
Collecting jedi>=0.16
  Using cached jedi-0.18.2-py2.py3-none-any.whl (1.6 MB)
Collecting matplotlib-inline
  Using cached matplotlib_inline-0.1.6-py3-none-any.whl (9.4 kB)
Collecting pickleshare
  Using cached pickleshare-0.7.5-py2.py3-none-any.whl (6.9 kB)
Collecting prompt-toolkit!=3.0.37,<3.1.0,>=3.0.30
  Using cached prompt_toolkit-3.0.38-py3-none-any.whl (385 kB)
Collecting pygments>=2.4.0
  Downloading Pygments-2.15.0-py3-none-any.whl (1.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 1.5 MB/s eta 0:00:00
Collecting stack-data
  Using cached stack_data-0.6.2-py3-none-any.whl (24 kB)
Collecting pexpect>4.3
  Using cached pexpect-4.8.0-py2.py3-none-any.whl (59 kB)
Collecting idna>=2.8
  Using cached idna-3.4-py3-none-any.whl (61 kB)
Collecting sniffio>=1.1
  Using cached sniffio-1.3.0-py3-none-any.whl (10 kB)
Collecting parso<0.9.0,>=0.8.0
  Using cached parso-0.8.3-py2.py3-none-any.whl (100 kB)
Collecting attrs>=17.4.0
  Using cached attrs-22.2.0-py3-none-any.whl (60 kB)
Collecting pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0
  Using cached pyrsistent-0.19.3-py3-none-any.whl (57 kB)
Collecting python-dateutil>=2.8.2
  Using cached python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
Collecting python-json-logger>=2.0.4
  Using cached python_json_logger-2.0.7-py3-none-any.whl (8.1 kB)
Collecting pyyaml>=5.3
  Using cached PyYAML-6.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (757 kB)
Collecting rfc3339-validator
  Using cached rfc3339_validator-0.1.4-py2.py3-none-any.whl (3.5 kB)
Collecting rfc3986-validator>=0.1.1
  Using cached rfc3986_validator-0.1.1-py2.py3-none-any.whl (4.2 kB)
Collecting beautifulsoup4
  Downloading beautifulsoup4-4.12.2-py3-none-any.whl (142 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 143.0/143.0 kB 620.4 kB/s eta 0:00:00
Collecting bleach
  Using cached bleach-6.0.0-py3-none-any.whl (162 kB)
Collecting defusedxml
  Using cached defusedxml-0.7.1-py2.py3-none-any.whl (25 kB)
Collecting jupyterlab-pygments
  Using cached jupyterlab_pygments-0.2.2-py2.py3-none-any.whl (21 kB)
Collecting mistune<3,>=2.0.3
  Using cached mistune-2.0.5-py2.py3-none-any.whl (24 kB)
Collecting nbclient>=0.5.0
  Using cached nbclient-0.7.3-py3-none-any.whl (72 kB)
Collecting pandocfilters>=1.4.1
  Using cached pandocfilters-1.5.0-py2.py3-none-any.whl (8.7 kB)
Collecting tinycss2
  Using cached tinycss2-1.2.1-py3-none-any.whl (21 kB)
Collecting fastjsonschema
  Using cached fastjsonschema-2.16.3-py3-none-any.whl (23 kB)
Collecting ptyprocess>=0.5
  Using cached ptyprocess-0.7.0-py2.py3-none-any.whl (13 kB)
Collecting wcwidth
  Using cached wcwidth-0.2.6-py2.py3-none-any.whl (29 kB)
Collecting charset-normalizer<4,>=2
  Using cached charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (197 kB)
Collecting urllib3<1.27,>=1.21.1
  Using cached urllib3-1.26.15-py2.py3-none-any.whl (140 kB)
Collecting certifi>=2017.4.17
  Using cached certifi-2022.12.7-py3-none-any.whl (155 kB)
Collecting aiofiles<23,>=22.1.0
  Using cached aiofiles-22.1.0-py3-none-any.whl (14 kB)
Collecting aiosqlite<1,>=0.17.0
  Using cached aiosqlite-0.18.0-py3-none-any.whl (15 kB)
Collecting ypy-websocket<0.9.0,>=0.8.2
  Downloading ypy_websocket-0.8.3-py3-none-any.whl (10 kB)
  Using cached ypy_websocket-0.8.2-py3-none-any.whl (10 kB)
Collecting argon2-cffi-bindings
  Using cached argon2_cffi_bindings-21.2.0-cp36-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (86 kB)
Collecting comm>=0.1.1
  Using cached comm-0.1.3-py3-none-any.whl (6.6 kB)
Collecting debugpy>=1.6.5
  Using cached debugpy-1.6.7-py2.py3-none-any.whl (4.9 MB)
Collecting psutil
  Using cached psutil-5.9.4-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (280 kB)
Collecting executing>=1.2.0
  Using cached executing-1.2.0-py2.py3-none-any.whl (24 kB)
Collecting asttokens>=2.1.0
  Using cached asttokens-2.2.1-py2.py3-none-any.whl (26 kB)
Collecting pure-eval
  Using cached pure_eval-0.2.2-py3-none-any.whl (11 kB)
Collecting six
  Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting fqdn
  Using cached fqdn-1.5.1-py3-none-any.whl (9.1 kB)
Collecting isoduration
  Using cached isoduration-20.11.0-py3-none-any.whl (11 kB)
Collecting jsonpointer>1.13
  Using cached jsonpointer-2.3-py2.py3-none-any.whl (7.8 kB)
Collecting uri-template
  Using cached uri_template-1.2.0-py3-none-any.whl (10 kB)
Collecting webcolors>=1.11
  Using cached webcolors-1.13-py3-none-any.whl (14 kB)
Collecting cffi>=1.0.1
  Using cached cffi-1.15.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (462 kB)
Collecting soupsieve>1.2
  Using cached soupsieve-2.4-py3-none-any.whl (37 kB)
Collecting webencodings
  Using cached webencodings-0.5.1-py2.py3-none-any.whl (11 kB)
Collecting pycparser
  Using cached pycparser-2.21-py2.py3-none-any.whl (118 kB)
Collecting arrow>=0.15.0
  Using cached arrow-1.2.3-py3-none-any.whl (66 kB)
Installing collected packages: y-py, webencodings, wcwidth, send2trash, pure-eval, ptyprocess, pickleshare, mistune, json5, ipython-genutils, fastjsonschema, executing, backcall, websocket-client, webcolors, urllib3, uri-template, traitlets, tornado, tinycss2, soupsieve, sniffio, six, rfc3986-validator, pyzmq, pyyaml, python-json-logger, pyrsistent, pygments, pycparser, psutil, prompt-toolkit, prometheus-client, platformdirs, pexpect, parso, pandocfilters, packaging, nest-asyncio, MarkupSafe, jupyterlab-pygments, jupyter-ydoc, jsonpointer, idna, fqdn, defusedxml, decorator, debugpy, charset-normalizer, certifi, babel, attrs, aiosqlite, aiofiles, ypy-websocket, terminado, rfc3339-validator, requests, python-dateutil, matplotlib-inline, jupyter-core, jsonschema, jinja2, jedi, comm, cffi, bleach, beautifulsoup4, asttokens, anyio, stack-data, nbformat, jupyter-server-terminals, jupyter-client, arrow, argon2-cffi-bindings, nbclient, isoduration, ipython, argon2-cffi, nbconvert, ipykernel, jupyter-events, jupyter-server, notebook-shim, jupyterlab-server, jupyter-server-fileid, nbclassic, jupyter-server-ydoc, notebook, jupyterlab
Successfully installed MarkupSafe-2.1.2 aiofiles-22.1.0 aiosqlite-0.18.0 anyio-3.6.2 argon2-cffi-21.3.0 argon2-cffi-bindings-21.2.0 arrow-1.2.3 asttokens-2.2.1 attrs-22.2.0 babel-2.12.1 backcall-0.2.0 beautifulsoup4-4.12.2 bleach-6.0.0 certifi-2022.12.7 cffi-1.15.1 charset-normalizer-3.1.0 comm-0.1.3 debugpy-1.6.7 decorator-5.1.1 defusedxml-0.7.1 executing-1.2.0 fastjsonschema-2.16.3 fqdn-1.5.1 idna-3.4 ipykernel-6.22.0 ipython-8.12.0 ipython-genutils-0.2.0 isoduration-20.11.0 jedi-0.18.2 jinja2-3.1.2 json5-0.9.11 jsonpointer-2.3 jsonschema-4.17.3 jupyter-client-8.1.0 jupyter-core-5.3.0 jupyter-events-0.6.3 jupyter-server-2.5.0 jupyter-server-fileid-0.9.0 jupyter-server-terminals-0.4.4 jupyter-server-ydoc-0.6.1 jupyter-ydoc-0.2.3 jupyterlab-3.6.1 jupyterlab-pygments-0.2.2 jupyterlab-server-2.22.0 matplotlib-inline-0.1.6 mistune-2.0.5 nbclassic-0.5.5 nbclient-0.7.3 nbconvert-7.3.1 nbformat-5.8.0 nest-asyncio-1.5.6 notebook-6.5.4 notebook-shim-0.2.2 packaging-23.0 pandocfilters-1.5.0 parso-0.8.3 pexpect-4.8.0 pickleshare-0.7.5 platformdirs-3.2.0 prometheus-client-0.16.0 prompt-toolkit-3.0.38 psutil-5.9.4 ptyprocess-0.7.0 pure-eval-0.2.2 pycparser-2.21 pygments-2.15.0 pyrsistent-0.19.3 python-dateutil-2.8.2 python-json-logger-2.0.7 pyyaml-6.0 pyzmq-25.0.2 requests-2.28.2 rfc3339-validator-0.1.4 rfc3986-validator-0.1.1 send2trash-1.8.0 six-1.16.0 sniffio-1.3.0 soupsieve-2.4 stack-data-0.6.2 terminado-0.17.1 tinycss2-1.2.1 tornado-6.2 traitlets-5.9.0 uri-template-1.2.0 urllib3-1.26.15 wcwidth-0.2.6 webcolors-1.13 webencodings-0.5.1 websocket-client-1.5.1 y-py-0.5.9 ypy-websocket-0.8.2

jupyterlab-language-pack-ja-JP パッケージで JupyterLab Desktop で日本語化する🤤

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

Collecting jupyterlab-language-pack-ja-JP
  Using cached jupyterlab_language_pack_ja_jp-3.6.post1-py2.py3-none-any.whl (61 kB)
Installing collected packages: jupyterlab-language-pack-ja-JP
Successfully installed jupyterlab-language-pack-ja-JP-3.6.post1

jupyterlab/git パッケージもインストールする🤤

(pyJupyterLabDesktopEnv) $ pip install jupyterlab-git

Collecting jupyterlab-git
  Using cached jupyterlab_git-0.41.0-py3-none-any.whl (1.3 MB)
Requirement already satisfied: jupyter-server<3,>=1.21.0 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from jupyterlab-git) (2.5.0)
Collecting nbdime~=3.1
  Using cached nbdime-3.1.1-py2.py3-none-any.whl (5.3 MB)
Requirement already satisfied: nbformat in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from jupyterlab-git) (5.8.0)
Requirement already satisfied: packaging in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from jupyterlab-git) (23.0)
Requirement already satisfied: pexpect in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from jupyterlab-git) (4.8.0)
Requirement already satisfied: traitlets~=5.0 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from jupyterlab-git) (5.9.0)
Requirement already satisfied: anyio>=3.1.0 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from jupyter-server<3,>=1.21.0->jupyterlab-git) (3.6.2)
Requirement already satisfied: argon2-cffi in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from jupyter-server<3,>=1.21.0->jupyterlab-git) (21.3.0)
Requirement already satisfied: jinja2 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from jupyter-server<3,>=1.21.0->jupyterlab-git) (3.1.2)
Requirement already satisfied: jupyter-client>=7.4.4 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from jupyter-server<3,>=1.21.0->jupyterlab-git) (8.1.0)
Requirement already satisfied: jupyter-core!=5.0.*,>=4.12 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from jupyter-server<3,>=1.21.0->jupyterlab-git) (5.3.0)
Requirement already satisfied: jupyter-events>=0.4.0 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from jupyter-server<3,>=1.21.0->jupyterlab-git) (0.6.3)
Requirement already satisfied: jupyter-server-terminals in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from jupyter-server<3,>=1.21.0->jupyterlab-git) (0.4.4)
Requirement already satisfied: nbconvert>=6.4.4 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from jupyter-server<3,>=1.21.0->jupyterlab-git) (7.3.1)
Requirement already satisfied: prometheus-client in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from jupyter-server<3,>=1.21.0->jupyterlab-git) (0.16.0)
Requirement already satisfied: pyzmq>=24 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from jupyter-server<3,>=1.21.0->jupyterlab-git) (25.0.2)
Requirement already satisfied: send2trash in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from jupyter-server<3,>=1.21.0->jupyterlab-git) (1.8.0)
Requirement already satisfied: terminado>=0.8.3 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from jupyter-server<3,>=1.21.0->jupyterlab-git) (0.17.1)
Requirement already satisfied: tornado>=6.2.0 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from jupyter-server<3,>=1.21.0->jupyterlab-git) (6.2)
Requirement already satisfied: websocket-client in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from jupyter-server<3,>=1.21.0->jupyterlab-git) (1.5.1)
Collecting colorama
  Using cached colorama-0.4.6-py2.py3-none-any.whl (25 kB)
Requirement already satisfied: pygments in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from nbdime~=3.1->jupyterlab-git) (2.15.0)
Requirement already satisfied: requests in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from nbdime~=3.1->jupyterlab-git) (2.28.2)
Collecting GitPython!=2.1.4,!=2.1.5,!=2.1.6
  Using cached GitPython-3.1.31-py3-none-any.whl (184 kB)
Collecting jupyter-server-mathjax>=0.2.2
  Using cached jupyter_server_mathjax-0.2.6-py3-none-any.whl (3.1 MB)
Requirement already satisfied: fastjsonschema in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from nbformat->jupyterlab-git) (2.16.3)
Requirement already satisfied: jsonschema>=2.6 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from nbformat->jupyterlab-git) (4.17.3)
Requirement already satisfied: ptyprocess>=0.5 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from pexpect->jupyterlab-git) (0.7.0)
Requirement already satisfied: idna>=2.8 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from anyio>=3.1.0->jupyter-server<3,>=1.21.0->jupyterlab-git) (3.4)
Requirement already satisfied: sniffio>=1.1 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from anyio>=3.1.0->jupyter-server<3,>=1.21.0->jupyterlab-git) (1.3.0)
Collecting gitdb<5,>=4.0.1
  Using cached gitdb-4.0.10-py3-none-any.whl (62 kB)
Requirement already satisfied: MarkupSafe>=2.0 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from jinja2->jupyter-server<3,>=1.21.0->jupyterlab-git) (2.1.2)
Requirement already satisfied: attrs>=17.4.0 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from jsonschema>=2.6->nbformat->jupyterlab-git) (22.2.0)
Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from jsonschema>=2.6->nbformat->jupyterlab-git) (0.19.3)
Requirement already satisfied: python-dateutil>=2.8.2 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from jupyter-client>=7.4.4->jupyter-server<3,>=1.21.0->jupyterlab-git) (2.8.2)
Requirement already satisfied: platformdirs>=2.5 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from jupyter-core!=5.0.*,>=4.12->jupyter-server<3,>=1.21.0->jupyterlab-git) (3.2.0)
Requirement already satisfied: python-json-logger>=2.0.4 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from jupyter-events>=0.4.0->jupyter-server<3,>=1.21.0->jupyterlab-git) (2.0.7)
Requirement already satisfied: pyyaml>=5.3 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from jupyter-events>=0.4.0->jupyter-server<3,>=1.21.0->jupyterlab-git) (6.0)
Requirement already satisfied: rfc3339-validator in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from jupyter-events>=0.4.0->jupyter-server<3,>=1.21.0->jupyterlab-git) (0.1.4)
Requirement already satisfied: rfc3986-validator>=0.1.1 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from jupyter-events>=0.4.0->jupyter-server<3,>=1.21.0->jupyterlab-git) (0.1.1)
Requirement already satisfied: beautifulsoup4 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=1.21.0->jupyterlab-git) (4.12.2)
Requirement already satisfied: bleach in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=1.21.0->jupyterlab-git) (6.0.0)
Requirement already satisfied: defusedxml in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=1.21.0->jupyterlab-git) (0.7.1)
Requirement already satisfied: jupyterlab-pygments in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=1.21.0->jupyterlab-git) (0.2.2)
Requirement already satisfied: mistune<3,>=2.0.3 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=1.21.0->jupyterlab-git) (2.0.5)
Requirement already satisfied: nbclient>=0.5.0 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=1.21.0->jupyterlab-git) (0.7.3)
Requirement already satisfied: pandocfilters>=1.4.1 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=1.21.0->jupyterlab-git) (1.5.0)
Requirement already satisfied: tinycss2 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=1.21.0->jupyterlab-git) (1.2.1)
Requirement already satisfied: argon2-cffi-bindings in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from argon2-cffi->jupyter-server<3,>=1.21.0->jupyterlab-git) (21.2.0)
Requirement already satisfied: charset-normalizer<4,>=2 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from requests->nbdime~=3.1->jupyterlab-git) (3.1.0)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from requests->nbdime~=3.1->jupyterlab-git) (1.26.15)
Requirement already satisfied: certifi>=2017.4.17 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from requests->nbdime~=3.1->jupyterlab-git) (2022.12.7)
Collecting smmap<6,>=3.0.1
  Using cached smmap-5.0.0-py3-none-any.whl (24 kB)
Requirement already satisfied: fqdn in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from jsonschema>=2.6->nbformat->jupyterlab-git) (1.5.1)
Requirement already satisfied: isoduration in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from jsonschema>=2.6->nbformat->jupyterlab-git) (20.11.0)
Requirement already satisfied: jsonpointer>1.13 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from jsonschema>=2.6->nbformat->jupyterlab-git) (2.3)
Requirement already satisfied: uri-template in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from jsonschema>=2.6->nbformat->jupyterlab-git) (1.2.0)
Requirement already satisfied: webcolors>=1.11 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from jsonschema>=2.6->nbformat->jupyterlab-git) (1.13)
Requirement already satisfied: six>=1.5 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from python-dateutil>=2.8.2->jupyter-client>=7.4.4->jupyter-server<3,>=1.21.0->jupyterlab-git) (1.16.0)
Requirement already satisfied: cffi>=1.0.1 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from argon2-cffi-bindings->argon2-cffi->jupyter-server<3,>=1.21.0->jupyterlab-git) (1.15.1)
Requirement already satisfied: soupsieve>1.2 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from beautifulsoup4->nbconvert>=6.4.4->jupyter-server<3,>=1.21.0->jupyterlab-git) (2.4)
Requirement already satisfied: webencodings in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from bleach->nbconvert>=6.4.4->jupyter-server<3,>=1.21.0->jupyterlab-git) (0.5.1)
Requirement already satisfied: pycparser in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from cffi>=1.0.1->argon2-cffi-bindings->argon2-cffi->jupyter-server<3,>=1.21.0->jupyterlab-git) (2.21)
Requirement already satisfied: arrow>=0.15.0 in ./pyJupyterLabDesktopEnv/lib64/python3.11/site-packages (from isoduration->jsonschema>=2.6->nbformat->jupyterlab-git) (1.2.3)
Installing collected packages: smmap, colorama, gitdb, GitPython, jupyter-server-mathjax, nbdime, jupyterlab-git
Successfully installed GitPython-3.1.31 colorama-0.4.6 gitdb-4.0.10 jupyter-server-mathjax-0.2.6 jupyterlab-git-0.41.0 nbdime-3.1.1 smmap-5.0.0

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

pip によるインストール

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 をヘッドレスマシンなどで外部アクセスを許可して起動。
$ jupyter-lab --ip=0.0.0.0 --port=28888 --no-browser JupyterLab 外部アクセス許可+ポート指定して起動。
$ jupyter lab --version JupyterLab のバージョンを表示。

(pyJupyterLab) $ jupyter notebook
(pyJupyterLab) $ jupyter lab
(pyJupyterLab) $ jupyter lab --no-browser
(pyJupyterLab) $ jupyter lab --ip=0.0.0.0 --no-browser
(pyJupyterLab) $ jupyter lab --ip=0.0.0.0 --port=28888 --no-browser
(pyJupyterLab) $ jupyter lab --version

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

(pyJupyterLab) $ deactivate
$ 

起動用スクリプト

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

$ cat << EOF > exec_jupyterlab.sh

#!/bin/bash
start_env() {
  cd ~
  . pyJupyterLab/bin/activate
}
start_env_shell() {
  cd ~
  /bin/bash -c ". pyJupyterLab/bin/activate; exec /bin/bash -i"
}
deact() {
  deactivate
}
 
start_jupyter() {
  start_env
  jupyter lab --ip=0.0.0.0 --no-browser
  deact
}
 
update_venv() {
  start_env
  pip freeze --local | grep -v '^\-e' | cut -d = -f 1 | xargs pip install -U pip
  deact
}
 
if [ $# -eq 1 ]; then
  case "$1" in
    "-U" )
      update_venv
      ;;
    "-s" )
      start_env_shell
      ;;
    "deact" )
      deact
      ;;
  esac
else
  start_jupyter
fi
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回)。

仮想環境のすべてのパッケージ更新も楽々になってトラブルが起きにくい😻

$ ./exec_jupyterlab.sh -U

Requirement already satisfied: pip in ./pyJupyterLab/lib64/python3.11/site-packages (23.0.1)
Requirement already satisfied: aiofiles in ./pyJupyterLab/lib64/python3.11/site-packages (22.1.0)
Collecting aiofiles
  Using cached aiofiles-23.1.0-py3-none-any.whl (14 kB)
Requirement already satisfied: aiosqlite in ./pyJupyterLab/lib64/python3.11/site-packages (0.18.0)
Requirement already satisfied: anyio in ./pyJupyterLab/lib64/python3.11/site-packages (3.6.2)
Requirement already satisfied: argon2-cffi in ./pyJupyterLab/lib64/python3.11/site-packages (21.3.0)
Requirement already satisfied: argon2-cffi-bindings in ./pyJupyterLab/lib64/python3.11/site-packages (21.2.0)
Requirement already satisfied: arrow in ./pyJupyterLab/lib64/python3.11/site-packages (1.2.3)
Requirement already satisfied: asttokens in ./pyJupyterLab/lib64/python3.11/site-packages (2.2.1)
Requirement already satisfied: attrs in ./pyJupyterLab/lib64/python3.11/site-packages (22.2.0)
Requirement already satisfied: Babel in ./pyJupyterLab/lib64/python3.11/site-packages (2.11.0)
Collecting Babel
  Downloading Babel-2.12.1-py3-none-any.whl (10.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.1/10.1 MB 3.1 MB/s eta 0:00:00
Requirement already satisfied: backcall in ./pyJupyterLab/lib64/python3.11/site-packages (0.2.0)
Requirement already satisfied: beautifulsoup4 in ./pyJupyterLab/lib64/python3.11/site-packages (4.11.2)
Requirement already satisfied: bleach in ./pyJupyterLab/lib64/python3.11/site-packages (6.0.0)
Requirement already satisfied: certifi in ./pyJupyterLab/lib64/python3.11/site-packages (2022.12.7)
Requirement already satisfied: cffi in ./pyJupyterLab/lib64/python3.11/site-packages (1.15.1)
Requirement already satisfied: charset-normalizer in ./pyJupyterLab/lib64/python3.11/site-packages (3.0.1)
Collecting charset-normalizer
  Downloading charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (197 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 197.3/197.3 kB 726.8 kB/s eta 0:00:00
Requirement already satisfied: comm in ./pyJupyterLab/lib64/python3.11/site-packages (0.1.2)
Requirement already satisfied: debugpy in ./pyJupyterLab/lib64/python3.11/site-packages (1.6.6)
Requirement already satisfied: decorator in ./pyJupyterLab/lib64/python3.11/site-packages (5.1.1)
Requirement already satisfied: defusedxml in ./pyJupyterLab/lib64/python3.11/site-packages (0.7.1)
Requirement already satisfied: entrypoints in ./pyJupyterLab/lib64/python3.11/site-packages (0.4)
Requirement already satisfied: executing in ./pyJupyterLab/lib64/python3.11/site-packages (1.2.0)
Requirement already satisfied: fastjsonschema in ./pyJupyterLab/lib64/python3.11/site-packages (2.16.3)
Requirement already satisfied: fqdn in ./pyJupyterLab/lib64/python3.11/site-packages (1.5.1)
Requirement already satisfied: idna in ./pyJupyterLab/lib64/python3.11/site-packages (3.4)
Requirement already satisfied: ipykernel in ./pyJupyterLab/lib64/python3.11/site-packages (6.21.2)
Collecting ipykernel
  Downloading ipykernel-6.21.3-py3-none-any.whl (149 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 149.4/149.4 kB 795.4 kB/s eta 0:00:00
Requirement already satisfied: ipython in ./pyJupyterLab/lib64/python3.11/site-packages (8.10.0)
Collecting ipython
  Downloading ipython-8.11.0-py3-none-any.whl (793 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 793.3/793.3 kB 807.9 kB/s eta 0:00:00
Requirement already satisfied: ipython-genutils in ./pyJupyterLab/lib64/python3.11/site-packages (0.2.0)
Requirement already satisfied: isoduration in ./pyJupyterLab/lib64/python3.11/site-packages (20.11.0)
Requirement already satisfied: jedi in ./pyJupyterLab/lib64/python3.11/site-packages (0.18.2)
Requirement already satisfied: Jinja2 in ./pyJupyterLab/lib64/python3.11/site-packages (3.1.2)
Requirement already satisfied: json5 in ./pyJupyterLab/lib64/python3.11/site-packages (0.9.11)
Requirement already satisfied: jsonpointer in ./pyJupyterLab/lib64/python3.11/site-packages (2.3)
Requirement already satisfied: jsonschema in ./pyJupyterLab/lib64/python3.11/site-packages (4.17.3)
Requirement already satisfied: jupyter-events in ./pyJupyterLab/lib64/python3.11/site-packages (0.6.3)
Requirement already satisfied: jupyter-ydoc in ./pyJupyterLab/lib64/python3.11/site-packages (0.3.4)
Requirement already satisfied: jupyter_client in ./pyJupyterLab/lib64/python3.11/site-packages (8.0.3)
Requirement already satisfied: jupyter_core in ./pyJupyterLab/lib64/python3.11/site-packages (5.2.0)
Requirement already satisfied: jupyter_server in ./pyJupyterLab/lib64/python3.11/site-packages (2.3.0)
Collecting jupyter_server
  Downloading jupyter_server-2.4.0-py3-none-any.whl (366 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 366.7/366.7 kB 1.1 MB/s eta 0:00:00
Requirement already satisfied: jupyter_server_fileid in ./pyJupyterLab/lib64/python3.11/site-packages (0.8.0)
Requirement already satisfied: jupyter_server_terminals in ./pyJupyterLab/lib64/python3.11/site-packages (0.4.4)
Requirement already satisfied: jupyter_server_ydoc in ./pyJupyterLab/lib64/python3.11/site-packages (0.7.0)
Collecting jupyter_server_ydoc
  Downloading jupyter_server_ydoc-0.8.0-py3-none-any.whl (11 kB)
Requirement already satisfied: jupyterlab in ./pyJupyterLab/lib64/python3.11/site-packages (3.5.3)
Collecting jupyterlab
  Using cached jupyterlab-3.6.1-py3-none-any.whl (8.9 MB)
Requirement already satisfied: jupyterlab-language-pack-ja-JP in ./pyJupyterLab/lib64/python3.11/site-packages (3.6.post0)
Requirement already satisfied: jupyterlab-pygments in ./pyJupyterLab/lib64/python3.11/site-packages (0.2.2)
Requirement already satisfied: jupyterlab_server in ./pyJupyterLab/lib64/python3.11/site-packages (2.19.0)
Collecting jupyterlab_server
  Downloading jupyterlab_server-2.20.0-py3-none-any.whl (56 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 56.7/56.7 kB 443.6 kB/s eta 0:00:00
Requirement already satisfied: MarkupSafe in ./pyJupyterLab/lib64/python3.11/site-packages (2.1.2)
Requirement already satisfied: matplotlib-inline in ./pyJupyterLab/lib64/python3.11/site-packages (0.1.6)
Requirement already satisfied: mistune in ./pyJupyterLab/lib64/python3.11/site-packages (2.0.5)
Requirement already satisfied: nbclassic in ./pyJupyterLab/lib64/python3.11/site-packages (0.5.2)
Collecting nbclassic
  Downloading nbclassic-0.5.3-py3-none-any.whl (10.0 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 10.0/10.0 MB 3.9 MB/s eta 0:00:00
Requirement already satisfied: nbclient in ./pyJupyterLab/lib64/python3.11/site-packages (0.7.2)
Requirement already satisfied: nbconvert in ./pyJupyterLab/lib64/python3.11/site-packages (7.2.9)
Collecting nbconvert
  Downloading nbconvert-7.2.10-py3-none-any.whl (275 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 275.2/275.2 kB 1.2 MB/s eta 0:00:00
Requirement already satisfied: nbformat in ./pyJupyterLab/lib64/python3.11/site-packages (5.7.3)
Requirement already satisfied: nest-asyncio in ./pyJupyterLab/lib64/python3.11/site-packages (1.5.6)
Requirement already satisfied: notebook in ./pyJupyterLab/lib64/python3.11/site-packages (6.5.2)
Collecting notebook
  Downloading notebook-6.5.3-py3-none-any.whl (529 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 529.7/529.7 kB 1.5 MB/s eta 0:00:00
Requirement already satisfied: notebook_shim in ./pyJupyterLab/lib64/python3.11/site-packages (0.2.2)
Requirement already satisfied: packaging in ./pyJupyterLab/lib64/python3.11/site-packages (23.0)
Requirement already satisfied: pandocfilters in ./pyJupyterLab/lib64/python3.11/site-packages (1.5.0)
Requirement already satisfied: parso in ./pyJupyterLab/lib64/python3.11/site-packages (0.8.3)
Requirement already satisfied: pexpect in ./pyJupyterLab/lib64/python3.11/site-packages (4.8.0)
Requirement already satisfied: pickleshare in ./pyJupyterLab/lib64/python3.11/site-packages (0.7.5)
Requirement already satisfied: platformdirs in ./pyJupyterLab/lib64/python3.11/site-packages (3.0.0)
Collecting platformdirs
  Downloading platformdirs-3.1.1-py3-none-any.whl (14 kB)
Requirement already satisfied: prometheus-client in ./pyJupyterLab/lib64/python3.11/site-packages (0.16.0)
Requirement already satisfied: prompt-toolkit in ./pyJupyterLab/lib64/python3.11/site-packages (3.0.37)
Collecting prompt-toolkit
  Downloading prompt_toolkit-3.0.38-py3-none-any.whl (385 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 385.8/385.8 kB 1.5 MB/s eta 0:00:00
Requirement already satisfied: psutil in ./pyJupyterLab/lib64/python3.11/site-packages (5.9.4)
Requirement already satisfied: ptyprocess in ./pyJupyterLab/lib64/python3.11/site-packages (0.7.0)
Requirement already satisfied: pure-eval in ./pyJupyterLab/lib64/python3.11/site-packages (0.2.2)
Requirement already satisfied: pycparser in ./pyJupyterLab/lib64/python3.11/site-packages (2.21)
Requirement already satisfied: Pygments in ./pyJupyterLab/lib64/python3.11/site-packages (2.14.0)
Requirement already satisfied: pyrsistent in ./pyJupyterLab/lib64/python3.11/site-packages (0.19.3)
Requirement already satisfied: python-dateutil in ./pyJupyterLab/lib64/python3.11/site-packages (2.8.2)
Requirement already satisfied: python-json-logger in ./pyJupyterLab/lib64/python3.11/site-packages (2.0.7)
Requirement already satisfied: pytz in ./pyJupyterLab/lib64/python3.11/site-packages (2022.7.1)
Requirement already satisfied: PyYAML in ./pyJupyterLab/lib64/python3.11/site-packages (6.0)
Requirement already satisfied: pyzmq in ./pyJupyterLab/lib64/python3.11/site-packages (25.0.0)
Collecting pyzmq
  Downloading pyzmq-25.0.1-cp311-cp311-manylinux_2_28_x86_64.whl (1.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 219.9 kB/s eta 0:00:00
Requirement already satisfied: requests in ./pyJupyterLab/lib64/python3.11/site-packages (2.28.2)
Requirement already satisfied: rfc3339-validator in ./pyJupyterLab/lib64/python3.11/site-packages (0.1.4)
Requirement already satisfied: rfc3986-validator in ./pyJupyterLab/lib64/python3.11/site-packages (0.1.1)
Requirement already satisfied: Send2Trash in ./pyJupyterLab/lib64/python3.11/site-packages (1.8.0)
Requirement already satisfied: six in ./pyJupyterLab/lib64/python3.11/site-packages (1.16.0)
Requirement already satisfied: sniffio in ./pyJupyterLab/lib64/python3.11/site-packages (1.3.0)
Requirement already satisfied: soupsieve in ./pyJupyterLab/lib64/python3.11/site-packages (2.4)
Requirement already satisfied: stack-data in ./pyJupyterLab/lib64/python3.11/site-packages (0.6.2)
Requirement already satisfied: terminado in ./pyJupyterLab/lib64/python3.11/site-packages (0.17.1)
Requirement already satisfied: tinycss2 in ./pyJupyterLab/lib64/python3.11/site-packages (1.2.1)
Requirement already satisfied: tomli in ./pyJupyterLab/lib64/python3.11/site-packages (2.0.1)
Requirement already satisfied: tornado in ./pyJupyterLab/lib64/python3.11/site-packages (6.2)
Requirement already satisfied: traitlets in ./pyJupyterLab/lib64/python3.11/site-packages (5.9.0)
Requirement already satisfied: uri-template in ./pyJupyterLab/lib64/python3.11/site-packages (1.2.0)
Requirement already satisfied: urllib3 in ./pyJupyterLab/lib64/python3.11/site-packages (1.26.14)
Collecting urllib3
  Downloading urllib3-1.26.15-py2.py3-none-any.whl (140 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 140.9/140.9 kB 702.0 kB/s eta 0:00:00
Requirement already satisfied: voila in ./pyJupyterLab/lib64/python3.11/site-packages (0.0.0)
Collecting voila
  Using cached voila-0.4.0-py3-none-any.whl (5.5 MB)
Requirement already satisfied: wcwidth in ./pyJupyterLab/lib64/python3.11/site-packages (0.2.6)
Requirement already satisfied: webcolors in ./pyJupyterLab/lib64/python3.11/site-packages (1.12)
Requirement already satisfied: webencodings in ./pyJupyterLab/lib64/python3.11/site-packages (0.5.1)
Requirement already satisfied: websocket-client in ./pyJupyterLab/lib64/python3.11/site-packages (1.5.1)
Requirement already satisfied: websockets in ./pyJupyterLab/lib64/python3.11/site-packages (10.4)
Requirement already satisfied: y-py in ./pyJupyterLab/lib64/python3.11/site-packages (0.6.0)
Requirement already satisfied: ypy-websocket in ./pyJupyterLab/lib64/python3.11/site-packages (0.8.4)
Collecting jupyter-ydoc
  Downloading jupyter_ydoc-0.2.3-py3-none-any.whl (5.9 kB)
Collecting jupyter_server_ydoc
  Using cached jupyter_server_ydoc-0.6.1-py3-none-any.whl (11 kB)
Collecting jupyter-ydoc
  Using cached jupyter_ydoc-0.2.2-py3-none-any.whl (5.6 kB)
INFO: pip is looking at multiple versions of jupyterlab to determine which version is compatible with other requirements. This could take a while.
Collecting jupyterlab
  Using cached jupyterlab-3.6.0-py3-none-any.whl (8.9 MB)
Collecting voila
  Using cached voila-0.3.6-py3-none-any.whl (1.7 MB)
Collecting jupyter_server
  Using cached jupyter_server-1.23.6-py3-none-any.whl (347 kB)
Collecting jupyter_client
  Using cached jupyter_client-7.4.9-py3-none-any.whl (133 kB)
Collecting nbclient
  Using cached nbclient-0.5.13-py3-none-any.whl (70 kB)
Collecting nbconvert
  Using cached nbconvert-6.5.4-py3-none-any.whl (563 kB)
Collecting lxml
  Using cached lxml-4.9.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_24_x86_64.whl (7.2 MB)
Collecting nbconvert
  Using cached nbconvert-6.5.3-py3-none-any.whl (563 kB)
  Using cached nbconvert-6.5.2-py3-none-any.whl (563 kB)
  Using cached nbconvert-6.5.1-py3-none-any.whl (563 kB)
  Using cached nbconvert-6.5.0-py3-none-any.whl (561 kB)
  Using cached nbconvert-6.4.5-py3-none-any.whl (561 kB)
INFO: pip is looking at multiple versions of nbclient to determine which version is compatible with other requirements. This could take a while.
Collecting nbclient
  Using cached nbclient-0.5.12-py3-none-any.whl (71 kB)
INFO: pip is looking at multiple versions of jupyter-server to determine which version is compatible with other requirements. This could take a while.
Collecting jupyter_server
  Using cached jupyter_server-1.23.5-py3-none-any.whl (346 kB)
INFO: pip is looking at multiple versions of jupyter-client to determine which version is compatible with other requirements. This could take a while.
Collecting jupyter_client
  Using cached jupyter_client-7.4.8-py3-none-any.whl (133 kB)
INFO: pip is looking at multiple versions of voila to determine which version is compatible with other requirements. This could take a while.
Collecting voila
  Using cached voila-0.3.5-py3-none-any.whl (1.7 MB)
  Using cached voila-0.3.4-py3-none-any.whl (1.7 MB)
Collecting nbconvert
  Using cached nbconvert-6.4.4-py3-none-any.whl (561 kB)
Collecting voila
  Using cached voila-0.3.3-py3-none-any.whl (1.7 MB)
  Using cached voila-0.3.2-py3-none-any.whl (1.7 MB)
  Using cached voila-0.3.1-py3-none-any.whl (1.7 MB)
  Using cached voila-0.3.0-py3-none-any.whl (1.7 MB)
  Using cached voila-0.2.16-py3-none-any.whl (1.6 MB)
  Using cached voila-0.2.15-py3-none-any.whl (1.6 MB)
  Using cached voila-0.2.14-py3-none-any.whl (1.6 MB)
  Using cached voila-0.2.13-py3-none-any.whl (1.6 MB)
  Using cached voila-0.2.12-py3-none-any.whl (1.6 MB)
  Using cached voila-0.2.11-py3-none-any.whl (1.6 MB)
  Using cached voila-0.2.10-py3-none-any.whl (1.6 MB)
  Using cached voila-0.2.9-py3-none-any.whl (1.6 MB)
  Using cached voila-0.2.8-py3-none-any.whl (1.6 MB)
  Using cached voila-0.2.7-py3-none-any.whl (2.5 MB)
  Using cached voila-0.2.6-py3-none-any.whl (1.9 MB)
  Using cached voila-0.2.5-py3-none-any.whl (1.9 MB)
  Using cached voila-0.2.4-py3-none-any.whl (1.9 MB)
  Using cached voila-0.2.3-py3-none-any.whl (6.9 MB)
  Using cached voila-0.2.2-py3-none-any.whl (6.9 MB)
  Using cached voila-0.2.1-py3-none-any.whl (6.9 MB)
  Using cached voila-0.2.0-py3-none-any.whl (6.9 MB)
  Using cached voila-0.1.24-py3-none-any.whl (5.9 MB)
Collecting async-generator
  Using cached async_generator-1.10-py3-none-any.whl (18 kB)
Collecting voila
  Using cached voila-0.1.23-py3-none-any.whl (5.9 MB)
  Using cached voila-0.1.22-py3-none-any.whl (5.9 MB)
  Using cached voila-0.1.21-py3-none-any.whl (5.9 MB)
  Using cached voila-0.1.20-py3-none-any.whl (5.9 MB)
  Using cached voila-0.1.19-py3-none-any.whl (5.9 MB)
  Using cached voila-0.1.18.post1-py2.py3-none-any.whl (5.9 MB)
  Using cached voila-0.1.18-py2.py3-none-any.whl (5.9 MB)
  Using cached voila-0.1.17-py2.py3-none-any.whl (4.8 MB)
  Using cached voila-0.1.16-py2.py3-none-any.whl (4.8 MB)
  Using cached voila-0.1.15-py2.py3-none-any.whl (4.8 MB)
  Using cached voila-0.1.14-py2.py3-none-any.whl (4.8 MB)
  Using cached voila-0.1.13-py2.py3-none-any.whl (4.8 MB)
  Using cached voila-0.1.12-py2.py3-none-any.whl (4.8 MB)
  Using cached voila-0.1.11-py2.py3-none-any.whl (4.8 MB)
  Using cached voila-0.1.10-py2.py3-none-any.whl (4.8 MB)
  Using cached voila-0.1.9-py2.py3-none-any.whl (4.8 MB)
  Using cached voila-0.1.8-py2.py3-none-any.whl (4.8 MB)
  Using cached voila-0.1.7-py2.py3-none-any.whl (4.8 MB)
  Using cached voila-0.1.6-py2.py3-none-any.whl (4.8 MB)
  Using cached voila-0.1.5-py2.py3-none-any.whl (4.9 MB)
  Using cached voila-0.1.4-py2.py3-none-any.whl (5.5 MB)
  Using cached voila-0.1.3-py2.py3-none-any.whl (7.3 MB)
  Using cached voila-0.1.2-py2.py3-none-any.whl (7.3 MB)
  Using cached voila-0.1.1-py2.py3-none-any.whl (7.3 MB)
  Using cached voila-0.1.0.tar.gz (7.3 MB)
  Preparing metadata (setup.py) ... done
  Using cached voila-0.0.14-py2.py3-none-any.whl (7.3 MB)
  Using cached voila-0.0.13-py2.py3-none-any.whl (7.3 MB)
  Using cached voila-0.0.12-py2.py3-none-any.whl (7.3 MB)
  Using cached voila-0.0.11-py2.py3-none-any.whl (7.3 MB)
  Using cached voila-0.0.10-py2.py3-none-any.whl (6.8 MB)
  Using cached voila-0.0.9-py2.py3-none-any.whl (6.8 MB)
  Using cached voila-0.0.8-py2.py3-none-any.whl (4.6 MB)
  Using cached voila-0.0.7-py2.py3-none-any.whl (4.6 MB)
  Using cached voila-0.0.6-py2.py3-none-any.whl (4.6 MB)
  Using cached voila-0.0.5-py2.py3-none-any.whl (4.5 MB)
  Using cached voila-0.0.4-py2.py3-none-any.whl (4.4 MB)
  Using cached voila-0.0.3-py2.py3-none-any.whl (4.4 MB)
  Using cached voila-0.0.2-py3-none-any.whl (4.4 MB)
  Using cached voila-0.0.1-py3-none-any.whl (4.3 MB)
Installing collected packages: urllib3, pyzmq, prompt-toolkit, platformdirs, charset-normalizer, Babel, ipython, ipykernel, nbconvert, jupyter_server, jupyterlab_server, nbclassic, jupyter_server_ydoc, notebook
  Attempting uninstall: urllib3
    Found existing installation: urllib3 1.26.14
    Uninstalling urllib3-1.26.14:
      Successfully uninstalled urllib3-1.26.14
  Attempting uninstall: pyzmq
    Found existing installation: pyzmq 25.0.0
    Uninstalling pyzmq-25.0.0:
      Successfully uninstalled pyzmq-25.0.0
  Attempting uninstall: prompt-toolkit
    Found existing installation: prompt-toolkit 3.0.37
    Uninstalling prompt-toolkit-3.0.37:
      Successfully uninstalled prompt-toolkit-3.0.37
  Attempting uninstall: platformdirs
    Found existing installation: platformdirs 3.0.0
    Uninstalling platformdirs-3.0.0:
      Successfully uninstalled platformdirs-3.0.0
  Attempting uninstall: charset-normalizer
    Found existing installation: charset-normalizer 3.0.1
    Uninstalling charset-normalizer-3.0.1:
      Successfully uninstalled charset-normalizer-3.0.1
  Attempting uninstall: Babel
    Found existing installation: Babel 2.11.0
    Uninstalling Babel-2.11.0:
      Successfully uninstalled Babel-2.11.0
  Attempting uninstall: ipython
    Found existing installation: ipython 8.10.0
    Uninstalling ipython-8.10.0:
      Successfully uninstalled ipython-8.10.0
  Attempting uninstall: ipykernel
    Found existing installation: ipykernel 6.21.2
    Uninstalling ipykernel-6.21.2:
      Successfully uninstalled ipykernel-6.21.2
  Attempting uninstall: nbconvert
    Found existing installation: nbconvert 7.2.9
    Uninstalling nbconvert-7.2.9:
      Successfully uninstalled nbconvert-7.2.9
  Attempting uninstall: jupyter_server
    Found existing installation: jupyter_server 2.3.0
    Uninstalling jupyter_server-2.3.0:
      Successfully uninstalled jupyter_server-2.3.0
  Attempting uninstall: jupyterlab_server
    Found existing installation: jupyterlab_server 2.19.0
    Uninstalling jupyterlab_server-2.19.0:
      Successfully uninstalled jupyterlab_server-2.19.0
  Attempting uninstall: nbclassic
    Found existing installation: nbclassic 0.5.2
    Uninstalling nbclassic-0.5.2:
      Successfully uninstalled nbclassic-0.5.2
  Attempting uninstall: jupyter_server_ydoc
    Found existing installation: jupyter_server_ydoc 0.7.0
    Uninstalling jupyter_server_ydoc-0.7.0:
      Successfully uninstalled jupyter_server_ydoc-0.7.0
  Attempting uninstall: notebook
    Found existing installation: notebook 6.5.2
    Uninstalling notebook-6.5.2:
      Successfully uninstalled notebook-6.5.2
Successfully installed Babel-2.12.1 charset-normalizer-3.1.0 ipykernel-6.21.3 ipython-8.11.0 jupyter_server-2.4.0 jupyter_server_ydoc-0.8.0 jupyterlab_server-2.20.0 nbclassic-0.5.3 nbconvert-7.2.10 notebook-6.5.3 platformdirs-3.1.1 prompt-toolkit-3.0.38 pyzmq-25.0.1 urllib3-1.26.15

公式: Jupyter Docker Stacks — Docker Stacks documentation 翻訳
ソースコード: jupyter/docker-stacks: Ready-to-run Docker images containing Jupyter applications 翻訳
コンテナ リポジトリ: jupyter - Quay Container Registry · Quay

Since `2023-10-20` our images are only pushed to `Quay.io` registry.
Older images are available on Docker Hub, but they will no longer be updated.
「2023-10-20」以降、イメージは「Quay.io」レジストリにのみプッシュされます。
古いイメージは Docker Hub で入手できますが、更新されなくなります。

podman で jupyter コンテナ実行する🤔(初回だけダウンロード)

$ podman run --rm -ti -p 10000:8888 -v `pwd`:/home/jovyan/work quay.io/jupyter/minimal-notebook:2024-01-15

Entered start.sh with args: jupyter lab
Running hooks in: /usr/local/bin/start-notebook.d as uid: 1000 gid: 100
Done running hooks in: /usr/local/bin/start-notebook.d
Running hooks in: /usr/local/bin/before-notebook.d as uid: 1000 gid: 100
Sourcing shell script: /usr/local/bin/before-notebook.d/10activate-conda-env.sh
Done running hooks in: /usr/local/bin/before-notebook.d
Executing the command: jupyter lab

http://localhost:10000/lab にアクセスする🤔

Jupyter Docker スタック minimal 001

JupyterLab の標準の動作を変更するために ~/.jupyter/jupyter_lab_config.py を生成するには、以下のコマンドを実行する。

$ jupyter lab --generate-config

Writing default config to: /home/tomoyan/.jupyter/jupyter_lab_config.py

公式: Working with Files — JupyterLab 4.1.0a2 documentation

JupyterLab のファイルブラウザで隠しファイルを表示するには、Jupyter ServerContentsManager.allow_hidden = True を設定してから、さらに JupyterLab の詳細設定エディタでファイルブラウザの "showHiddenFiles": true を設定する必要がある。
これらの設定で JupyterLab の メニュー → [表示] → [Show hidden files] のチェックをオン/オフ出来るようになる。

~/.jupyter/jupyter_lab_config.py
# Configuration file for lab.
 
c = get_config()  #noqa
 
#------------------------------------------------------------------------------
# Application(SingletonConfigurable) configuration
#------------------------------------------------------------------------------
## This is an application.
c.ContentsManager.allow_hidden = True

JupyterLab のメニュー → [設定] → [詳細設定エディタ]の画面で、[ファイルブラウザ]のユーザー設定を変更する。

{
    // ファイルブラウザ
    // @jupyterlab/filebrowser-extension:browser
    // ファイルブラウザの設定。
    // *****************************************
 
    // Show hidden files
    // Whether to show hidden files
    "showHiddenFiles": true,
 
}

Jupyter Server で利用可能なすべてのオプションの説明は以下の公式ドキュメントに記載されている。
公式: Config file and command line options — Jupyter Server documentation 翻訳

python - Is there a way to disable saving to checkpoints for Jupyter Notebooks? - Stack Overflow 翻訳

.ipynb_checkpoints ディレクトリは編集で開いたファイルのディレクトリに作成されますが、以下の例では ~/.jupyter/ipynb_checkpoints に変更します。

~/.jupyter/jupyter_lab_config.py
# Configuration file for lab.
 
c = get_config()  #noqa
 
#------------------------------------------------------------------------------
# Application(SingletonConfigurable) configuration
#------------------------------------------------------------------------------
## This is an application.
import os
 
c.FileCheckpoints.checkpoint_dir = os.path.expanduser('~/.jupyter/ipynb_checkpoints')

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 labextension --help

Work with JupyterLab extensions

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

install
    Install labextension(s)
update
    Update labextension(s)
uninstall
    Uninstall labextension(s)
list
    List labextensions
link
    Link labextension(s)
unlink
    Unlink labextension(s)
enable
    Enable labextension(s)
disable
    Disable labextension(s)
check
    Check labextension(s)
develop
    (developer) Develop labextension(s)
build
    (developer) Build labextension
watch
    (developer) Watch labextension

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 <cmd>, use:
    <cmd> --help-all

--debug
    set log level to logging.DEBUG (maximize logging output)
    Equivalent to: [--Application.log_level=10]
--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]
--log-level=<Enum>
    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=<Unicode>
    Full path of a config file.
    Default: ''
    Equivalent to: [--JupyterApp.config_file]

Examples
--------

    jupyter labextension list                        # list all configured labextensions
    jupyter labextension install <extension name>    # install a labextension
    jupyter labextension uninstall <extension name>  # uninstall a labextension
    jupyter labextension develop                     # (developer) develop a prebuilt labextension
    jupyter labextension build                       # (developer) build a prebuilt labextension
    jupyter labextension watch                       # (developer) watch a prebuilt labextension

To see all available configurables, use `--help-all`.

$ jupyter labextension list

Config dir: /home/tomoyan/.jupyter

Config dir: /home/tomoyan/.local/pipx/.cache/2615b5f93c52ac4/etc/jupyter
    jupyter_lsp enabled
    - Validating jupyter_lsp...
Package jupyter_lsp took 0.0194s to import
A `_jupyter_server_extension_points` function was not found in jupyter_lsp. Instead, a `_jupyter_server_extension_paths` function was found and will be used for now. This function name will be deprecated in future releases of Jupyter Server.
      jupyter_lsp 2.2.0 OK
    jupyter_server_terminals enabled
    - Validating jupyter_server_terminals...
Package jupyter_server_terminals took 0.0094s to import
      jupyter_server_terminals 0.4.4 OK
    jupyterlab enabled
    - Validating jupyterlab...
Package jupyterlab took 0.0000s to import
      jupyterlab 4.0.3 OK
    notebook enabled
    - Validating notebook...
Package notebook took 0.0000s to import
      notebook 7.0.0 OK
    notebook_shim enabled
    - Validating notebook_shim...
Package notebook_shim took 0.0000s to import
A `_jupyter_server_extension_points` function was not found in notebook_shim. Instead, a `_jupyter_server_extension_paths` function was found and will be used for now. This function name will be deprecated in future releases of Jupyter Server.
      notebook_shim  OK

Config dir: /usr/local/etc/jupyter

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

Collecting jupyterlab-git
  Downloading jupyterlab_git-0.41.0-py3-none-any.whl (1.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.3/1.3 MB 1.4 MB/s eta 0:00:00
Requirement already satisfied: jupyter-server<3,>=1.21.0 in ./pyJupyterLab/lib64/python3.11/site-packages (from jupyterlab-git) (2.4.0)
Collecting nbdime~=3.1
  Downloading nbdime-3.1.1-py2.py3-none-any.whl (5.3 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.3/5.3 MB 1.7 MB/s eta 0:00:00
Requirement already satisfied: nbformat in ./pyJupyterLab/lib64/python3.11/site-packages (from jupyterlab-git) (5.7.3)
Requirement already satisfied: packaging in ./pyJupyterLab/lib64/python3.11/site-packages (from jupyterlab-git) (23.0)
Requirement already satisfied: pexpect in ./pyJupyterLab/lib64/python3.11/site-packages (from jupyterlab-git) (4.8.0)
Requirement already satisfied: traitlets~=5.0 in ./pyJupyterLab/lib64/python3.11/site-packages (from jupyterlab-git) (5.9.0)
Requirement already satisfied: anyio>=3.1.0 in ./pyJupyterLab/lib64/python3.11/site-packages (from jupyter-server<3,>=1.21.0->jupyterlab-git) (3.6.2)
Requirement already satisfied: argon2-cffi in ./pyJupyterLab/lib64/python3.11/site-packages (from jupyter-server<3,>=1.21.0->jupyterlab-git) (21.3.0)
Requirement already satisfied: jinja2 in ./pyJupyterLab/lib64/python3.11/site-packages (from jupyter-server<3,>=1.21.0->jupyterlab-git) (3.1.2)
Requirement already satisfied: jupyter-client>=7.4.4 in ./pyJupyterLab/lib64/python3.11/site-packages (from jupyter-server<3,>=1.21.0->jupyterlab-git) (8.0.3)
Requirement already satisfied: jupyter-core!=5.0.*,>=4.12 in ./pyJupyterLab/lib64/python3.11/site-packages (from jupyter-server<3,>=1.21.0->jupyterlab-git) (5.2.0)
Requirement already satisfied: jupyter-events>=0.4.0 in ./pyJupyterLab/lib64/python3.11/site-packages (from jupyter-server<3,>=1.21.0->jupyterlab-git) (0.6.3)
Requirement already satisfied: jupyter-server-terminals in ./pyJupyterLab/lib64/python3.11/site-packages (from jupyter-server<3,>=1.21.0->jupyterlab-git) (0.4.4)
Requirement already satisfied: nbconvert>=6.4.4 in ./pyJupyterLab/lib64/python3.11/site-packages (from jupyter-server<3,>=1.21.0->jupyterlab-git) (7.2.10)
Requirement already satisfied: prometheus-client in ./pyJupyterLab/lib64/python3.11/site-packages (from jupyter-server<3,>=1.21.0->jupyterlab-git) (0.16.0)
Requirement already satisfied: pyzmq>=24 in ./pyJupyterLab/lib64/python3.11/site-packages (from jupyter-server<3,>=1.21.0->jupyterlab-git) (25.0.1)
Requirement already satisfied: send2trash in ./pyJupyterLab/lib64/python3.11/site-packages (from jupyter-server<3,>=1.21.0->jupyterlab-git) (1.8.0)
Requirement already satisfied: terminado>=0.8.3 in ./pyJupyterLab/lib64/python3.11/site-packages (from jupyter-server<3,>=1.21.0->jupyterlab-git) (0.17.1)
Requirement already satisfied: tornado>=6.2.0 in ./pyJupyterLab/lib64/python3.11/site-packages (from jupyter-server<3,>=1.21.0->jupyterlab-git) (6.2)
Requirement already satisfied: websocket-client in ./pyJupyterLab/lib64/python3.11/site-packages (from jupyter-server<3,>=1.21.0->jupyterlab-git) (1.5.1)
Collecting colorama
  Downloading colorama-0.4.6-py2.py3-none-any.whl (25 kB)
Requirement already satisfied: pygments in ./pyJupyterLab/lib64/python3.11/site-packages (from nbdime~=3.1->jupyterlab-git) (2.14.0)
Requirement already satisfied: requests in ./pyJupyterLab/lib64/python3.11/site-packages (from nbdime~=3.1->jupyterlab-git) (2.28.2)
Collecting GitPython!=2.1.4,!=2.1.5,!=2.1.6
  Downloading GitPython-3.1.31-py3-none-any.whl (184 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 184.3/184.3 kB 656.6 kB/s eta 0:00:00
Collecting jupyter-server-mathjax>=0.2.2
  Downloading jupyter_server_mathjax-0.2.6-py3-none-any.whl (3.1 MB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.1/3.1 MB 1.7 MB/s eta 0:00:00
Requirement already satisfied: fastjsonschema in ./pyJupyterLab/lib64/python3.11/site-packages (from nbformat->jupyterlab-git) (2.16.3)
Requirement already satisfied: jsonschema>=2.6 in ./pyJupyterLab/lib64/python3.11/site-packages (from nbformat->jupyterlab-git) (4.17.3)
Requirement already satisfied: ptyprocess>=0.5 in ./pyJupyterLab/lib64/python3.11/site-packages (from pexpect->jupyterlab-git) (0.7.0)
Requirement already satisfied: idna>=2.8 in ./pyJupyterLab/lib64/python3.11/site-packages (from anyio>=3.1.0->jupyter-server<3,>=1.21.0->jupyterlab-git) (3.4)
Requirement already satisfied: sniffio>=1.1 in ./pyJupyterLab/lib64/python3.11/site-packages (from anyio>=3.1.0->jupyter-server<3,>=1.21.0->jupyterlab-git) (1.3.0)
Collecting gitdb<5,>=4.0.1
  Downloading gitdb-4.0.10-py3-none-any.whl (62 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 62.7/62.7 kB 277.3 kB/s eta 0:00:00
Requirement already satisfied: MarkupSafe>=2.0 in ./pyJupyterLab/lib64/python3.11/site-packages (from jinja2->jupyter-server<3,>=1.21.0->jupyterlab-git) (2.1.2)
Requirement already satisfied: attrs>=17.4.0 in ./pyJupyterLab/lib64/python3.11/site-packages (from jsonschema>=2.6->nbformat->jupyterlab-git) (22.2.0)
Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in ./pyJupyterLab/lib64/python3.11/site-packages (from jsonschema>=2.6->nbformat->jupyterlab-git) (0.19.3)
Requirement already satisfied: python-dateutil>=2.8.2 in ./pyJupyterLab/lib64/python3.11/site-packages (from jupyter-client>=7.4.4->jupyter-server<3,>=1.21.0->jupyterlab-git) (2.8.2)
Requirement already satisfied: platformdirs>=2.5 in ./pyJupyterLab/lib64/python3.11/site-packages (from jupyter-core!=5.0.*,>=4.12->jupyter-server<3,>=1.21.0->jupyterlab-git) (3.1.1)
Requirement already satisfied: python-json-logger>=2.0.4 in ./pyJupyterLab/lib64/python3.11/site-packages (from jupyter-events>=0.4.0->jupyter-server<3,>=1.21.0->jupyterlab-git) (2.0.7)
Requirement already satisfied: pyyaml>=5.3 in ./pyJupyterLab/lib64/python3.11/site-packages (from jupyter-events>=0.4.0->jupyter-server<3,>=1.21.0->jupyterlab-git) (6.0)
Requirement already satisfied: rfc3339-validator in ./pyJupyterLab/lib64/python3.11/site-packages (from jupyter-events>=0.4.0->jupyter-server<3,>=1.21.0->jupyterlab-git) (0.1.4)
Requirement already satisfied: rfc3986-validator>=0.1.1 in ./pyJupyterLab/lib64/python3.11/site-packages (from jupyter-events>=0.4.0->jupyter-server<3,>=1.21.0->jupyterlab-git) (0.1.1)
Requirement already satisfied: beautifulsoup4 in ./pyJupyterLab/lib64/python3.11/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=1.21.0->jupyterlab-git) (4.11.2)
Requirement already satisfied: bleach in ./pyJupyterLab/lib64/python3.11/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=1.21.0->jupyterlab-git) (6.0.0)
Requirement already satisfied: defusedxml in ./pyJupyterLab/lib64/python3.11/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=1.21.0->jupyterlab-git) (0.7.1)
Requirement already satisfied: jupyterlab-pygments in ./pyJupyterLab/lib64/python3.11/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=1.21.0->jupyterlab-git) (0.2.2)
Requirement already satisfied: mistune<3,>=2.0.3 in ./pyJupyterLab/lib64/python3.11/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=1.21.0->jupyterlab-git) (2.0.5)
Requirement already satisfied: nbclient>=0.5.0 in ./pyJupyterLab/lib64/python3.11/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=1.21.0->jupyterlab-git) (0.7.2)
Requirement already satisfied: pandocfilters>=1.4.1 in ./pyJupyterLab/lib64/python3.11/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=1.21.0->jupyterlab-git) (1.5.0)
Requirement already satisfied: tinycss2 in ./pyJupyterLab/lib64/python3.11/site-packages (from nbconvert>=6.4.4->jupyter-server<3,>=1.21.0->jupyterlab-git) (1.2.1)
Requirement already satisfied: argon2-cffi-bindings in ./pyJupyterLab/lib64/python3.11/site-packages (from argon2-cffi->jupyter-server<3,>=1.21.0->jupyterlab-git) (21.2.0)
Requirement already satisfied: charset-normalizer<4,>=2 in ./pyJupyterLab/lib64/python3.11/site-packages (from requests->nbdime~=3.1->jupyterlab-git) (3.1.0)
Requirement already satisfied: urllib3<1.27,>=1.21.1 in ./pyJupyterLab/lib64/python3.11/site-packages (from requests->nbdime~=3.1->jupyterlab-git) (1.26.15)
Requirement already satisfied: certifi>=2017.4.17 in ./pyJupyterLab/lib64/python3.11/site-packages (from requests->nbdime~=3.1->jupyterlab-git) (2022.12.7)
Collecting smmap<6,>=3.0.1
  Downloading smmap-5.0.0-py3-none-any.whl (24 kB)
Requirement already satisfied: fqdn in ./pyJupyterLab/lib64/python3.11/site-packages (from jsonschema>=2.6->nbformat->jupyterlab-git) (1.5.1)
Requirement already satisfied: isoduration in ./pyJupyterLab/lib64/python3.11/site-packages (from jsonschema>=2.6->nbformat->jupyterlab-git) (20.11.0)
Requirement already satisfied: jsonpointer>1.13 in ./pyJupyterLab/lib64/python3.11/site-packages (from jsonschema>=2.6->nbformat->jupyterlab-git) (2.3)
Requirement already satisfied: uri-template in ./pyJupyterLab/lib64/python3.11/site-packages (from jsonschema>=2.6->nbformat->jupyterlab-git) (1.2.0)
Requirement already satisfied: webcolors>=1.11 in ./pyJupyterLab/lib64/python3.11/site-packages (from jsonschema>=2.6->nbformat->jupyterlab-git) (1.12)
Requirement already satisfied: six>=1.5 in ./pyJupyterLab/lib64/python3.11/site-packages (from python-dateutil>=2.8.2->jupyter-client>=7.4.4->jupyter-server<3,>=1.21.0->jupyterlab-git) (1.16.0)
Requirement already satisfied: cffi>=1.0.1 in ./pyJupyterLab/lib64/python3.11/site-packages (from argon2-cffi-bindings->argon2-cffi->jupyter-server<3,>=1.21.0->jupyterlab-git) (1.15.1)
Requirement already satisfied: soupsieve>1.2 in ./pyJupyterLab/lib64/python3.11/site-packages (from beautifulsoup4->nbconvert>=6.4.4->jupyter-server<3,>=1.21.0->jupyterlab-git) (2.4)
Requirement already satisfied: webencodings in ./pyJupyterLab/lib64/python3.11/site-packages (from bleach->nbconvert>=6.4.4->jupyter-server<3,>=1.21.0->jupyterlab-git) (0.5.1)
Requirement already satisfied: pycparser in ./pyJupyterLab/lib64/python3.11/site-packages (from cffi>=1.0.1->argon2-cffi-bindings->argon2-cffi->jupyter-server<3,>=1.21.0->jupyterlab-git) (2.21)
Requirement already satisfied: arrow>=0.15.0 in ./pyJupyterLab/lib64/python3.11/site-packages (from isoduration->jsonschema>=2.6->nbformat->jupyterlab-git) (1.2.3)
Installing collected packages: smmap, colorama, gitdb, GitPython, jupyter-server-mathjax, nbdime, jupyterlab-git
Successfully installed GitPython-3.1.31 colorama-0.4.6 gitdb-4.0.10 jupyter-server-mathjax-0.2.6 jupyterlab-git-0.41.0 nbdime-3.1.1 smmap-5.0.0

Jupyter[Lab] Language Server Protocol — Jupyter[Lab] Language Server documentation 翻訳
jupyter-lsp/jupyterlab-lsp: Coding assistance for JupyterLab (code navigation + hover suggestions + linters + autocompletion + rename) using Language Server Protocol 翻訳
python-lsp/python-lsp-server: Fork of the python-language-server project, maintained by the Spyder IDE team and the community 翻訳

Installation — Jupyter[Lab] Language Server documentation 翻訳
jupyterlab-lsp は JupyterLab 用の拡張機能で、jupyter-lsp は notebook 用である。

(jupyterlab-ext) $ pip install jupyterlab-lsp

Collecting jupyterlab-lsp
  Downloading jupyterlab_lsp-5.0.0-py3-none-any.whl.metadata (12 kB)
Requirement already satisfied: jupyter-lsp>=2.0.0 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyterlab-lsp) (2.2.0)
Requirement already satisfied: jupyterlab<5.0.0a0,>=4.0.6 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyterlab-lsp) (4.0.7)
Requirement already satisfied: jupyter-server>=1.1.2 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyter-lsp>=2.0.0->jupyterlab-lsp) (2.9.1)
Requirement already satisfied: async-lru>=1.0.0 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (2.0.4)
Requirement already satisfied: ipykernel in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (6.26.0)
Requirement already satisfied: jinja2>=3.0.3 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (3.1.2)
Requirement already satisfied: jupyter-core in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (5.4.0)
Requirement already satisfied: jupyterlab-server<3,>=2.19.0 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (2.25.0)
Requirement already satisfied: notebook-shim>=0.2 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (0.2.3)
Requirement already satisfied: packaging in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (23.2)
Requirement already satisfied: tornado>=6.2.0 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (6.3.3)
Requirement already satisfied: traitlets in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (5.12.0)
Requirement already satisfied: MarkupSafe>=2.0 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jinja2>=3.0.3->jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (2.1.3)
Requirement already satisfied: anyio>=3.1.0 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (4.0.0)
Requirement already satisfied: argon2-cffi in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (23.1.0)
Requirement already satisfied: jupyter-client>=7.4.4 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (8.5.0)
Requirement already satisfied: jupyter-events>=0.6.0 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (0.8.0)
Requirement already satisfied: jupyter-server-terminals in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (0.4.4)
Requirement already satisfied: nbconvert>=6.4.4 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (7.9.2)
Requirement already satisfied: nbformat>=5.3.0 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (5.9.2)
Requirement already satisfied: overrides in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (7.4.0)
Requirement already satisfied: prometheus-client in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (0.17.1)
Requirement already satisfied: pyzmq>=24 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (25.1.1)
Requirement already satisfied: send2trash>=1.8.2 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (1.8.2)
Requirement already satisfied: terminado>=0.8.3 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (0.17.1)
Requirement already satisfied: websocket-client in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (1.6.4)
Requirement already satisfied: platformdirs>=2.5 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyter-core->jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (3.11.0)
Requirement already satisfied: babel>=2.10 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyterlab-server<3,>=2.19.0->jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (2.13.1)
Requirement already satisfied: json5>=0.9.0 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyterlab-server<3,>=2.19.0->jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (0.9.14)
Requirement already satisfied: jsonschema>=4.18.0 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyterlab-server<3,>=2.19.0->jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (4.19.1)
Requirement already satisfied: requests>=2.31 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyterlab-server<3,>=2.19.0->jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (2.31.0)
Requirement already satisfied: comm>=0.1.1 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from ipykernel->jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (0.1.4)
Requirement already satisfied: debugpy>=1.6.5 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from ipykernel->jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (1.8.0)
Requirement already satisfied: ipython>=7.23.1 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from ipykernel->jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (8.16.1)
Requirement already satisfied: matplotlib-inline>=0.1 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from ipykernel->jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (0.1.6)
Requirement already satisfied: nest-asyncio in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from ipykernel->jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (1.5.8)
Requirement already satisfied: psutil in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from ipykernel->jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (5.9.5)
Requirement already satisfied: idna>=2.8 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from anyio>=3.1.0->jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (3.4)
Requirement already satisfied: sniffio>=1.1 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from anyio>=3.1.0->jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (1.3.0)
Requirement already satisfied: setuptools in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from babel>=2.10->jupyterlab-server<3,>=2.19.0->jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (68.2.2)
Requirement already satisfied: backcall in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from ipython>=7.23.1->ipykernel->jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (0.2.0)
Requirement already satisfied: decorator in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from ipython>=7.23.1->ipykernel->jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (5.1.1)
Requirement already satisfied: jedi>=0.16 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from ipython>=7.23.1->ipykernel->jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (0.19.1)
Requirement already satisfied: pickleshare in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from ipython>=7.23.1->ipykernel->jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (0.7.5)
Requirement already satisfied: prompt-toolkit!=3.0.37,<3.1.0,>=3.0.30 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from ipython>=7.23.1->ipykernel->jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (3.0.36)
Requirement already satisfied: pygments>=2.4.0 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from ipython>=7.23.1->ipykernel->jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (2.16.1)
Requirement already satisfied: stack-data in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from ipython>=7.23.1->ipykernel->jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (0.6.2)
Requirement already satisfied: pexpect>4.3 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from ipython>=7.23.1->ipykernel->jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (4.8.0)
Requirement already satisfied: attrs>=22.2.0 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.19.0->jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (23.1.0)
Requirement already satisfied: jsonschema-specifications>=2023.03.6 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.19.0->jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (2023.7.1)
Requirement already satisfied: referencing>=0.28.4 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.19.0->jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (0.30.2)
Requirement already satisfied: rpds-py>=0.7.1 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jsonschema>=4.18.0->jupyterlab-server<3,>=2.19.0->jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (0.10.6)
Requirement already satisfied: python-dateutil>=2.8.2 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyter-client>=7.4.4->jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (2.8.2)
Requirement already satisfied: python-json-logger>=2.0.4 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyter-events>=0.6.0->jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (2.0.7)
Requirement already satisfied: pyyaml>=5.3 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyter-events>=0.6.0->jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (6.0.1)
Requirement already satisfied: rfc3339-validator in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyter-events>=0.6.0->jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (0.1.4)
Requirement already satisfied: rfc3986-validator>=0.1.1 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jupyter-events>=0.6.0->jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (0.1.1)
Requirement already satisfied: beautifulsoup4 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from nbconvert>=6.4.4->jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (4.12.2)
Requirement already satisfied: bleach!=5.0.0 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from nbconvert>=6.4.4->jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (6.1.0)
Requirement already satisfied: defusedxml in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from nbconvert>=6.4.4->jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (0.7.1)
Requirement already satisfied: jupyterlab-pygments in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from nbconvert>=6.4.4->jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (0.2.2)
Requirement already satisfied: mistune<4,>=2.0.3 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from nbconvert>=6.4.4->jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (3.0.1)
Requirement already satisfied: nbclient>=0.5.0 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from nbconvert>=6.4.4->jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (0.8.0)
Requirement already satisfied: pandocfilters>=1.4.1 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from nbconvert>=6.4.4->jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (1.5.0)
Requirement already satisfied: tinycss2 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from nbconvert>=6.4.4->jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (1.2.1)
Requirement already satisfied: fastjsonschema in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from nbformat>=5.3.0->jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (2.18.1)
Requirement already satisfied: charset-normalizer<4,>=2 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from requests>=2.31->jupyterlab-server<3,>=2.19.0->jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (3.3.1)
Requirement already satisfied: urllib3<3,>=1.21.1 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from requests>=2.31->jupyterlab-server<3,>=2.19.0->jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (2.0.7)
Requirement already satisfied: certifi>=2017.4.17 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from requests>=2.31->jupyterlab-server<3,>=2.19.0->jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (2023.7.22)
Requirement already satisfied: ptyprocess in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from terminado>=0.8.3->jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (0.7.0)
Requirement already satisfied: argon2-cffi-bindings in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from argon2-cffi->jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (21.2.0)
Requirement already satisfied: six>=1.9.0 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from bleach!=5.0.0->nbconvert>=6.4.4->jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (1.16.0)
Requirement already satisfied: webencodings in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from bleach!=5.0.0->nbconvert>=6.4.4->jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (0.5.1)
Requirement already satisfied: parso<0.9.0,>=0.8.3 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jedi>=0.16->ipython>=7.23.1->ipykernel->jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (0.8.3)
Requirement already satisfied: fqdn in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.6.0->jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (1.5.1)
Requirement already satisfied: isoduration in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.6.0->jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (20.11.0)
Requirement already satisfied: jsonpointer>1.13 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.6.0->jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (2.4)
Requirement already satisfied: uri-template in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.6.0->jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (1.3.0)
Requirement already satisfied: webcolors>=1.11 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.6.0->jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (1.13)
Requirement already satisfied: wcwidth in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from prompt-toolkit!=3.0.37,<3.1.0,>=3.0.30->ipython>=7.23.1->ipykernel->jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (0.2.8)
Requirement already satisfied: cffi>=1.0.1 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from argon2-cffi-bindings->argon2-cffi->jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (1.16.0)
Requirement already satisfied: soupsieve>1.2 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from beautifulsoup4->nbconvert>=6.4.4->jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (2.5)
Requirement already satisfied: executing>=1.2.0 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from stack-data->ipython>=7.23.1->ipykernel->jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (2.0.1)
Requirement already satisfied: asttokens>=2.1.0 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from stack-data->ipython>=7.23.1->ipykernel->jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (2.4.1)
Requirement already satisfied: pure-eval in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from stack-data->ipython>=7.23.1->ipykernel->jupyterlab<5.0.0a0,>=4.0.6->jupyterlab-lsp) (0.2.2)
Requirement already satisfied: pycparser in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from cffi>=1.0.1->argon2-cffi-bindings->argon2-cffi->jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (2.21)
Requirement already satisfied: arrow>=0.15.0 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from isoduration->jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.6.0->jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (1.3.0)
Requirement already satisfied: types-python-dateutil>=2.8.10 in ./micromamba/envs/jupyterlab-ext/lib/python3.12/site-packages (from arrow>=0.15.0->isoduration->jsonschema[format-nongpl]>=4.18.0->jupyter-events>=0.6.0->jupyter-server>=1.1.2->jupyter-lsp>=2.0.0->jupyterlab-lsp) (2.8.19.14)
Downloading jupyterlab_lsp-5.0.0-py3-none-any.whl (1.5 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.5/1.5 MB 1.6 MB/s eta 0:00:00
Installing collected packages: jupyterlab-lsp
Successfully installed jupyterlab-lsp-5.0.0

$ jlpm add --dev \
    bash-language-server \
    dockerfile-language-server-nodejs \
    javascript-typescript-langserver \
    sql-language-server \
    unified-language-server \
    vscode-css-languageserver-bin \
    vscode-html-languageserver-bin \
    vscode-json-languageserver-bin \
    yaml-language-server

 YN0000: ┌ Resolution step
 YN0061: │ string-similarity@npm:2.0.0 is deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
 YN0061: │ @npmcli/move-file@npm:1.1.2 is deprecated: This functionality has been moved to @npmcli/fs
 YN0032: │ fsevents@npm:2.3.3: Implicit dependencies on node-gyp are discouraged
 YN0061: │ sane@npm:4.1.0 is deprecated: some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added
 YN0061: │ source-map-resolve@npm:0.5.3 is deprecated: See https://github.com/lydell/source-map-resolve#deprecated
 YN0061: │ urix@npm:0.1.0 is deprecated: Please see https://github.com/lydell/urix#deprecated
 YN0061: │ resolve-url@npm:0.2.1 is deprecated: https://github.com/lydell/resolve-url#deprecated
 YN0061: │ source-map-url@npm:0.4.1 is deprecated: See https://github.com/lydell/source-map-url#deprecated
 YN0061: │ w3c-hr-time@npm:1.0.2 is deprecated: Use your platform's native performance.now() and performance.timeOrigin.
 YN0032: │ node-addon-api@npm:4.3.0: Implicit dependencies on node-gyp are discouraged
 YN0000: └ Completed in 15s 528ms
 YN0000: ┌ Fetch step
 YN0019: │ vfile-reporter-npm-7.0.5-563a398572-0d66370c6c.zip appears to be unused - removing
 YN0019: │ vfile-sort-npm-3.0.1-e1a3a75e9c-6a29e0513c.zip appears to be unused - removing
 YN0019: │ vfile-statistics-npm-2.0.1-30d1ed7cad-e3f731bcf9.zip appears to be unused - removing
 YN0019: │ vscode-languageserver-types-npm-3.17.0-next.3-3d240b48be-84c8e52a8e.zip appears to be unused - re
 YN0019: │ word-wrap-npm-1.2.3-7fb15ab002-30b48f91fc.zip appears to be unused - removing
 YN0000: └ Completed in 12s 708ms
 YN0000: ┌ Link step
 YN0031: │ One or more node_modules have been detected and will be removed. This operation may take some time.
 YN0000: │ ESM support for PnP uses the experimental loader API and is therefore experimental
 YN0007: │ sqlite3@npm:5.1.6 [52396] must be built because it never has been before or the last one failed
 YN0000: └ Completed in 9s 280ms
 YN0000: Done with warnings in 37s 818ms

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 (翻訳) より
Source code: jupyter/jupyter/blob/master/docs/source/index.md (Sphinx)

ノートブックの操作 (Working with Notebooks)

nbclient - execution
nbconvert - conversion
nbviewer - viewing
nbdime - comparing and merging
nbgrader - grading
nbformat - modification and validation

アーキテクチャと仕様 (Architecture and Specification)

nbformat - Jupyter Notebook Format
jupyter-client - Jupyter Messaging Protocol
jupyter-core
jupyter-server
jupyterlab-server

デブロイメント (Deployment)

Docker Stacks
Kernel Gateway
Enterprise Gateway

全般 (General) ユーザーインターフェイス (User Interfaces)
Jupyter Project Documentation (翻訳)

Jupyter Project Documentation
先ずはここから読み進めて行きましょう。Jupyter プロジェクト ドキュメントのサブプロジェクトも含めたドキュメント類の読み進め方など。

JupyterLab

JupyterLab Documentation
JupyterLab の入門、ユーザーガイド、Extension 開発者ガイド、JupyterLab 開発者ガイド。

Jupyter Notebook

The Jupyter Notebook

Contributing to Jupyter

Contributing

Jupyter Console

Jupyter console 6.0

Qt Console

The Qt Console for Jupyter

IPython カーネル (Kernels)
IPython

IPython Documentation

IPython

IPython Documentation

IRkernel

IRkernel

IPyParallel

Using IPython for parallel computing

IJulia

GitHub - JuliaLang/IJulia.jl: Julia kernel for Jupyter

Community maintained kernels

Jupyter kernels · jupyter/jupyter Wiki

Traitlets

Traitlets

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

ipywidgetsa

nbconvert

nbconvert: Convert Notebooks to other formats

widget-cookiecutter

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

nbformat

The Jupyter Notebook Format

All Widget Projects...

Jupyter Widgets

nbviewer

GitHub - jupyter/nbviewer: nbconvert as a web service: Render Jupyter Notebooks as static web pages

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

JupyterHub

Docker Stacks

Jupyter Docker Stacks - docker-stacks latest documentation

Zero to JupyterHub

Zero to JupyterHub with Kubernetes - Zero to JupyterHub with Kubernetes documentation

Kernel Gateway

Jupyter Kernel Gateway

nbgrader

nbgrader

Enterprise Gateway

Jupyter Enterprise Gateway

All JupyterHub Projects...

JupyterHub

基盤 (Foundations)
Jupyter Client

Jupyter Client 7.1

Jupyter Core

jupyter_core 4.9

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

(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 をビルドしてみる。

bash

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

zsh

(pyJupyterLab) $ echo 'export NODE_OPTIONS="--max-old-space-size=1024"' >> ~/.zshrc
(pyJupyterLab) $ . ~/.zshrc
(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 スワップの容量を拡張する

メンテされない古いエクステンションが原因の場合

ModuleNotFoundError: Module not found: Error: Can't resolve 'codemirror' in … が発生してビルドに失敗する🤔

$ jupyter lab build 

[LabBuildApp] JupyterLab 4.0.11
[LabBuildApp] Building in /home/tomoyan/.local/pipx/venvs/jupyterlab4/share/jupyter/lab
[LabBuildApp] Building jupyterlab assets (production, minimized)
[LabBuildApp] ERROR | 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.

/home/tomoyan/.local/pipx/venvs/jupyterlab4/lib64/python3.11/site-packages/jupyterlab/debuglog.py:56: UserWarning: An error occurred.
  warnings.warn("An error occurred.")
/home/tomoyan/.local/pipx/venvs/jupyterlab4/lib64/python3.11/site-packages/jupyterlab/debuglog.py:57: UserWarning: RuntimeError: JupyterLab failed to build
  warnings.warn(msg[-1].strip())
/home/tomoyan/.local/pipx/venvs/jupyterlab4/lib64/python3.11/site-packages/jupyterlab/debuglog.py:58: UserWarning: See the log file for details: /tmp/jupyterlab-debug-tlt_npo8.log
  warnings.warn(f"See the log file for details: {log_path!s}")

※/tmp になんらかの jupyterlab-debug-*.log が記録されている。

/tmp/jupyterlab-debug-tlt_npo8.log
[LabBuildApp] Building in /home/tomoyan/.local/pipx/venvs/jupyterlab4/share/jupyter/lab
[LabBuildApp] Node v18.15.0
 
[LabBuildApp] Yarn configuration loaded.
[LabBuildApp] Building jupyterlab assets (production, minimized)
[LabBuildApp] > node /home/tomoyan/.local/pipx/venvs/jupyterlab4/lib64/python3.11/site-packages/jupyterlab/staging/yarn.js install
[LabBuildApp] ➤ YN0000: ┌ Resolution step
➤ YN0060: │ @jupyterlab/application-top@workspace:. provides @jupyterlab/application (p314d7) with version 4.0.11, which doesn't satisfy what @krassowski/jupyterlab-lsp requests
➤ YN0060: │ @jupyterlab/application-top@workspace:. provides @jupyterlab/application (p981ad) with version 4.0.11, which doesn't satisfy what @krassowski/jupyterlab_go_to_definition requests
➤ YN0002: │ @jupyterlab/application-top@workspace:. doesn't provide @jupyterlab/apputils (pe66a5), requested by @krassowski/jupyterlab-lsp
➤ YN0002: │ @jupyterlab/application-top@workspace:. doesn't provide @jupyterlab/apputils (pb1830), requested by @krassowski/jupyterlab_go_to_definition
➤ YN0002: │ @jupyterlab/application-top@workspace:. doesn't provide @jupyterlab/cells (p6dfe0), requested by @krassowski/jupyterlab-lsp
➤ YN0002: │ @jupyterlab/application-top@workspace:. doesn't provide @jupyterlab/codeeditor (pfec7f), requested by @krassowski/jupyterlab-lsp
➤ YN0002: │ @jupyterlab/application-top@workspace:. doesn't provide @jupyterlab/codeeditor (p6629f), requested by @krassowski/jupyterlab_go_to_definition
➤ YN0002: │ @jupyterlab/application-top@workspace:. doesn't provide @jupyterlab/codemirror (p710ba), requested by @krassowski/jupyterlab-lsp
➤ YN0002: │ @jupyterlab/application-top@workspace:. doesn't provide @jupyterlab/codemirror (p06aed), requested by @krassowski/jupyterlab_go_to_definition
➤ YN0002: │ @jupyterlab/application-top@workspace:. doesn't provide @jupyterlab/completer (p99ce4), requested by @krassowski/jupyterlab-lsp
➤ YN0060: │ @jupyterlab/application-top@workspace:. provides @jupyterlab/coreutils (pd16cc) with version 6.0.11, which doesn't satisfy what @krassowski/jupyterlab-lsp and some of its descendants request
➤ YN0060: │ @jupyterlab/application-top@workspace:. provides @jupyterlab/coreutils (p3f8e0) with version 6.0.11, which doesn't satisfy what @krassowski/jupyterlab_go_to_definition requests
➤ YN0002: │ @jupyterlab/application-top@workspace:. doesn't provide @jupyterlab/docmanager (pab0af), requested by @krassowski/jupyterlab-lsp
➤ YN0002: │ @jupyterlab/application-top@workspace:. doesn't provide @jupyterlab/docmanager (pdd6c2), requested by @krassowski/jupyterlab_go_to_definition
➤ YN0002: │ @jupyterlab/application-top@workspace:. doesn't provide @jupyterlab/docregistry (pa10be), requested by @krassowski/jupyterlab-lsp
➤ YN0002: │ @jupyterlab/application-top@workspace:. doesn't provide @jupyterlab/docregistry (p080ce), requested by @krassowski/jupyterlab_go_to_definition
➤ YN0002: │ @jupyterlab/application-top@workspace:. doesn't provide @jupyterlab/fileeditor (pc99dd), requested by @krassowski/jupyterlab-lsp
➤ YN0002: │ @jupyterlab/application-top@workspace:. doesn't provide @jupyterlab/fileeditor (p2cda8), requested by @krassowski/jupyterlab_go_to_definition
➤ YN0002: │ @jupyterlab/application-top@workspace:. doesn't provide @jupyterlab/notebook (pc214e), requested by @krassowski/jupyterlab-lsp
➤ YN0002: │ @jupyterlab/application-top@workspace:. doesn't provide @jupyterlab/notebook (p804fc), requested by @krassowski/jupyterlab_go_to_definition
➤ YN0002: │ @jupyterlab/application-top@workspace:. doesn't provide @jupyterlab/observables (p13210), requested by @krassowski/jupyterlab_go_to_definition
➤ YN0002: │ @jupyterlab/application-top@workspace:. doesn't provide @jupyterlab/rendermime (p1ad05), requested by @krassowski/jupyterlab-lsp
➤ YN0002: │ @jupyterlab/application-top@workspace:. doesn't provide @jupyterlab/services (p86120), requested by @krassowski/jupyterlab-lsp
➤ YN0002: │ @jupyterlab/application-top@workspace:. doesn't provide @jupyterlab/services (pe383b), requested by @krassowski/jupyterlab_go_to_definition
➤ YN0002: │ @jupyterlab/application-top@workspace:. doesn't provide @jupyterlab/statusbar (p1fe6f), requested by @krassowski/jupyterlab-lsp
➤ YN0002: │ @jupyterlab/application-top@workspace:. doesn't provide @jupyterlab/tooltip (p07794), requested by @krassowski/jupyterlab-lsp
➤ YN0002: │ @jupyterlab/application-top@workspace:. doesn't provide @jupyterlab/ui-components (pa0a72), requested by @krassowski/jupyterlab-lsp
➤ YN0002: │ @jupyterlab/application-top@workspace:. doesn't provide @lumino/algorithm (p64a09), requested by @krassowski/jupyterlab-lsp
➤ YN0002: │ @jupyterlab/application-top@workspace:. doesn't provide @lumino/algorithm (p6f657), requested by @krassowski/jupyterlab_go_to_definition
➤ YN0002: │ @jupyterlab/application-top@workspace:. doesn't provide @lumino/widgets (p04355), requested by @krassowski/jupyterlab-lsp
➤ YN0002: │ @jupyterlab/application-top@workspace:. doesn't provide codemirror (pe52c2), requested by @krassowski/jupyterlab-lsp
➤ YN0002: │ @jupyterlab/application-top@workspace:. doesn't provide codemirror (p16632), requested by @krassowski/jupyterlab_go_to_definition
➤ YN0002: │ @jupyterlab/application-top@workspace:. doesn't provide react (pcf475), requested by @krassowski/jupyterlab-lsp
➤ YN0002: │ @jupyterlab/application-top@workspace:. doesn't provide react (p9e0a3), requested by @krassowski/jupyterlab_go_to_definition
➤ YN0002: │ @jupyterlab/cell-toolbar-extension@npm:4.0.11 doesn't provide react (p20440), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlab/console-extension@npm:4.0.11 doesn't provide react (p8d0ce), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlab/csvviewer-extension@npm:4.0.11 doesn't provide react (p34332), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlab/debugger-extension@npm:4.0.11 doesn't provide react (pdeb62), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlab/documentsearch-extension@npm:4.0.11 doesn't provide react (p295a5), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlab/extensionmanager-extension@npm:4.0.11 doesn't provide react (p2b4a4), requested by @jupyterlab/settingregistry
➤ YN0060: │ @jupyterlab/extensionmanager@npm:4.0.11 provides react (p14d5a) with version 18.2.0, which doesn't satisfy what react-paginate requests
➤ YN0002: │ @jupyterlab/filebrowser-extension@npm:4.0.11 doesn't provide react (p5f99c), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlab/fileeditor-extension@npm:4.0.11 doesn't provide react (p8999e), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlab/htmlviewer-extension@npm:4.0.11 doesn't provide react (p277c8), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlab/json-extension@npm:4.0.11 doesn't provide @types/react (pe6271), requested by react-json-tree
➤ YN0002: │ @jupyterlab/mainmenu-extension@npm:4.0.11 doesn't provide react (p249d7), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlab/markdownviewer-extension@npm:4.0.11 doesn't provide react (p1eed9), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlab/metadataform-extension@npm:4.0.11 doesn't provide react (pe6f15), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlab/metadataform@npm:4.0.11 doesn't provide @rjsf/utils (p0f959), requested by @rjsf/core
➤ YN0002: │ @jupyterlab/metadataform@npm:4.0.11 doesn't provide @rjsf/utils (p8e55c), requested by @rjsf/validator-ajv8
➤ YN0002: │ @jupyterlab/services@npm:7.0.11 doesn't provide react (p1bd0e), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlab/settingeditor-extension@npm:4.0.11 doesn't provide react (p1c871), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlab/statusbar-extension@npm:4.0.11 doesn't provide react (p4d2ec), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlab/terminal-extension@npm:4.0.11 doesn't provide react (pbfdde), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlab/toc-extension@npm:6.0.11 doesn't provide react (p07cb0), requested by @jupyterlab/settingregistry
➤ YN0002: │ @jupyterlab/translation-extension@npm:4.0.11 doesn't provide react (p70edc), requested by @jupyterlab/settingregistry
➤ YN0002: │ @krassowski/jupyterlab-lsp@file:../extensions/krassowski-jupyterlab-lsp-3.10.2.tgz::locator=%40jupyterlab%2Fapplication-top%40workspace%3A. [0eec1] doesn't provide @jupyterlab/observables (pd127d), requested by @krassowski/code-jumpers
➤ YN0002: │ @krassowski/jupyterlab-lsp@file:../extensions/krassowski-jupyterlab-lsp-3.10.2.tgz::locator=%40jupyterlab%2Fapplication-top%40workspace%3A. [0eec1] doesn't provide @jupyterlab/translation (p7e0d2), requested by @krassowski/code-jumpers
➤ YN0000: │ Some peer dependencies are incorrectly met; run yarn explain peer-requirements <hash> for details, where <hash> is the six-letter p-prefixed code
➤ YN0000: └ Completed in 0s 655ms
➤ YN0000: ┌ Fetch step
➤ YN0000: └ Completed in 0s 653ms
➤ YN0000: ┌ Link step
➤ YN0000: └ Completed in 0s 907ms
➤ YN0000: Done with warnings in 2s 353ms
 
[LabBuildApp] > node /home/tomoyan/.local/pipx/venvs/jupyterlab4/lib64/python3.11/site-packages/jupyterlab/staging/yarn.js dlx yarn-berry-deduplicate -s fewerHighest --fail
[LabBuildApp] ➤ YN0000: ┌ Resolution step
➤ YN0000: └ Completed in 5s 936ms
➤ YN0000: ┌ Fetch step
➤ YN0000: └ Completed
➤ YN0000: ┌ Link step
➤ YN0000: └ Completed in 1s 311ms
➤ YN0000: Done in 7s 405ms
 
No duplicates found, yarn.lock identical
 
[LabBuildApp] > node /home/tomoyan/.local/pipx/venvs/jupyterlab4/lib64/python3.11/site-packages/jupyterlab/staging/yarn.js run build:prod:minimize
[LabBuildApp] [webpack-cli] ModuleNotFoundError: Module not found: Error: Can't resolve 'codemirror' in '/home/tomoyan/.local/pipx/venvs/jupyterlab4/share/jupyter/lab/staging/node_modules/@krassowski/jupyterlab_go_to_definition/lib/editors/codemirror'
    at /home/tomoyan/.local/pipx/venvs/jupyterlab4/share/jupyter/lab/staging/node_modules/webpack/lib/Compilation.js:2016:28
    at /home/tomoyan/.local/pipx/venvs/jupyterlab4/share/jupyter/lab/staging/node_modules/webpack/lib/NormalModuleFactory.js:798:13
    at eval (eval at create (/home/tomoyan/.local/pipx/venvs/jupyterlab4/share/jupyter/lab/staging/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:10:1)
    at /home/tomoyan/.local/pipx/venvs/jupyterlab4/share/jupyter/lab/staging/node_modules/webpack/lib/NormalModuleFactory.js:270:22
    at eval (eval at create (/home/tomoyan/.local/pipx/venvs/jupyterlab4/share/jupyter/lab/staging/node_modules/tapable/lib/HookCodeFactory.js:33:10), <anonymous>:9:1)
    at /home/tomoyan/.local/pipx/venvs/jupyterlab4/share/jupyter/lab/staging/node_modules/webpack/lib/NormalModuleFactory.js:434:22
    at /home/tomoyan/.local/pipx/venvs/jupyterlab4/share/jupyter/lab/staging/node_modules/webpack/lib/NormalModuleFactory.js:116:11
    at /home/tomoyan/.local/pipx/venvs/jupyterlab4/share/jupyter/lab/staging/node_modules/webpack/lib/NormalModuleFactory.js:670:25
    at /home/tomoyan/.local/pipx/venvs/jupyterlab4/share/jupyter/lab/staging/node_modules/webpack/lib/NormalModuleFactory.js:855:8
    at /home/tomoyan/.local/pipx/venvs/jupyterlab4/share/jupyter/lab/staging/node_modules/webpack/lib/NormalModuleFactory.js:975:5
resolve 'codemirror' in '/home/tomoyan/.local/pipx/venvs/jupyterlab4/share/jupyter/lab/staging/node_modules/@krassowski/jupyterlab_go_to_definition/lib/editors/codemirror'
  Parsed request is a module
  using description file: /home/tomoyan/.local/pipx/venvs/jupyterlab4/share/jupyter/lab/staging/node_modules/@krassowski/jupyterlab_go_to_definition/package.json (relative path: ./lib/editors/codemirror)
    Field 'browser' doesn't contain a valid alias configuration
    resolve as module
      /home/tomoyan/.local/pipx/venvs/jupyterlab4/share/jupyter/lab/staging/node_modules/@krassowski/jupyterlab_go_to_definition/lib/editors/codemirror/node_modules doesn't exist or is not a directory
      /home/tomoyan/.local/pipx/venvs/jupyterlab4/share/jupyter/lab/staging/node_modules/@krassowski/jupyterlab_go_to_definition/lib/editors/node_modules doesn't exist or is not a directory
      /home/tomoyan/.local/pipx/venvs/jupyterlab4/share/jupyter/lab/staging/node_modules/@krassowski/jupyterlab_go_to_definition/lib/node_modules doesn't exist or is not a directory
      /home/tomoyan/.local/pipx/venvs/jupyterlab4/share/jupyter/lab/staging/node_modules/@krassowski/jupyterlab_go_to_definition/node_modules doesn't exist or is not a directory
      /home/tomoyan/.local/pipx/venvs/jupyterlab4/share/jupyter/lab/staging/node_modules/@krassowski/node_modules doesn't exist or is not a directory
      /home/tomoyan/.local/pipx/venvs/jupyterlab4/share/jupyter/lab/staging/node_modules/node_modules doesn't exist or is not a directory
      looking for modules in /home/tomoyan/.local/pipx/venvs/jupyterlab4/share/jupyter/lab/staging/node_modules
        single file module
          using description file: /home/tomoyan/.local/pipx/venvs/jupyterlab4/share/jupyter/lab/staging/package.json (relative path: ./node_modules/codemirror)
            no extension
              Field 'browser' doesn't contain a valid alias configuration
              /home/tomoyan/.local/pipx/venvs/jupyterlab4/share/jupyter/lab/staging/node_modules/codemirror doesn't exist
            .js
              Field 'browser' doesn't contain a valid alias configuration
              /home/tomoyan/.local/pipx/venvs/jupyterlab4/share/jupyter/lab/staging/node_modules/codemirror.js doesn't exist
            .json
              Field 'browser' doesn't contain a valid alias configuration
              /home/tomoyan/.local/pipx/venvs/jupyterlab4/share/jupyter/lab/staging/node_modules/codemirror.json doesn't exist
            .wasm
              Field 'browser' doesn't contain a valid alias configuration
              /home/tomoyan/.local/pipx/venvs/jupyterlab4/share/jupyter/lab/staging/node_modules/codemirror.wasm doesn't exist
        /home/tomoyan/.local/pipx/venvs/jupyterlab4/share/jupyter/lab/staging/node_modules/codemirror doesn't exist
      /home/tomoyan/.local/pipx/venvs/jupyterlab4/share/jupyter/lab/node_modules doesn't exist or is not a directory
      /home/tomoyan/.local/pipx/venvs/jupyterlab4/share/jupyter/node_modules doesn't exist or is not a directory
      /home/tomoyan/.local/pipx/venvs/jupyterlab4/share/node_modules doesn't exist or is not a directory
      /home/tomoyan/.local/pipx/venvs/jupyterlab4/node_modules doesn't exist or is not a directory
      /home/tomoyan/.local/pipx/venvs/node_modules doesn't exist or is not a directory
      /home/tomoyan/.local/pipx/node_modules doesn't exist or is not a directory
      /home/tomoyan/.local/node_modules doesn't exist or is not a directory
      /home/tomoyan/node_modules doesn't exist or is not a directory
      /home/node_modules doesn't exist or is not a directory
      /node_modules doesn't exist or is not a directory
 
[LabBuildApp] JupyterLab failed to build
[LabBuildApp] ERROR | 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.
 
[LabBuildApp] Traceback (most recent call last):
 
[LabBuildApp]   File "/home/tomoyan/.local/pipx/venvs/jupyterlab4/lib64/python3.11/site-packages/jupyterlab/debuglog.py", line 47, in debug_logging
    yield
 
[LabBuildApp]   File "/home/tomoyan/.local/pipx/venvs/jupyterlab4/lib64/python3.11/site-packages/jupyterlab/labapp.py", line 206, in start
    raise e
 
[LabBuildApp]   File "/home/tomoyan/.local/pipx/venvs/jupyterlab4/lib64/python3.11/site-packages/jupyterlab/labapp.py", line 197, in start
    build(
 
[LabBuildApp]   File "/home/tomoyan/.local/pipx/venvs/jupyterlab4/lib64/python3.11/site-packages/jupyterlab/commands.py", line 507, in build
    return handler.build(
           ^^^^^^^^^^^^^^
 
[LabBuildApp]   File "/home/tomoyan/.local/pipx/venvs/jupyterlab4/lib64/python3.11/site-packages/jupyterlab/commands.py", line 723, in build
    raise RuntimeError(msg)
 
[LabBuildApp] RuntimeError: JupyterLab failed to build
 
[LabBuildApp] Exiting application: JupyterLab
[LabBuildApp] [webpack-cli] ModuleNotFoundError: Module not found: Error: Can't resolve 'codemirror' in '/home/tomoyan/.local/pipx/venvs/jupyterlab4/share/jupyter/lab/staging/node_modules/@krassowski/jupyterlab_go_to_definition/lib/editors/codemirror'

Go to definition extension for JupyterLab 拡張機能はもう維持されません😓
krassowski/jupyterlab-go-to-definition: Navigate to variable's definition with a click in JupyterLab (or with a few key strokes) 翻訳

拡張機能をアンインストールするとビルドできるようになる😊

$ jupyter labextension uninstall @krassowski/jupyterlab_go_to_definition

(Deprecated) Uninstalling extensions with the jupyter labextension uninstall command is now deprecated and will be removed in a future major version of JupyterLab.

Users should manage prebuilt extensions with package managers like pip and conda, and extension authors are encouraged to distribute their extensions as prebuilt packages 
Uninstalling @krassowski/jupyterlab_go_to_definition from /home/tomoyan/.local/pipx/venvs/jupyterlab4/share/jupyter/lab/extensions
Building jupyterlab assets (production, minimized)

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

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

プログラミング言語のコードを逐次実行できるノートブック環境「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
aws-sagemaker-jp/awesome-studio-lab-jp: SageMaker Studio Labの教材を紹介するリポジトリ。
ryuichiueda/LNPR_BOOK_CODES
Notebook Examples — Jupyter Notebook 6.5.3 documentation
Daring Fireball: Markdown

Markdown Cells — Jupyter Notebook 6.5.4 documentation
CSS Patterns — JupyterLab 3.6.3 documentation
How do I print colored text to the terminal?
Defining custom magics — IPython 8.12.0 documentation

Best JupyterLab Extensions for Machine Learning Research (2023) (翻訳)

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に埋め込むしかない😅
この拡張機能はもう維持されません😨😇 やっぱり?😅なんかJupyterLabがビルドしなさい言ってくるし、ビルドしてもcodemirrorがModule not found言われるし、エクステンションをアンインストールしようね😉
誰だよ Javascript Error: jQuery is not defined 言ってるのは🤣 jupyter_bokehがElectron版のJupyterLab Desktopでエラー吐いてるんだよね🤔 Webブラウザーではエラー吐いても動いてるけど...😅 なんだろうこれ🤔

  • python/jupyterlab.txt
  • 最終更新: 2024/03/02 07:30
  • by ともやん