python:jupyterlab

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

本家: Project Jupyter | Home (翻訳)
ソースコード: jupyterlab/jupyterlab: JupyterLab computational environment.
 jupyter/jupyter_core: Core Jupyter functionality
ドキュメント: Project Jupyter | Documentation (翻訳)
マイルストーン: Milestones - jupyterlab/jupyterlab · GitHub
コミュニティー: Jupyter Community Forum - A place for Jovyans to share and learn from each other

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]

mambacondamicromamba の何れかで conda 環境に jupyterlab-language-pack-ja-JP をインストールする🤔

$ mamba install --prefix ~/.config/jupyterlab-desktop/jlab_server --channel conda-forge jupyterlab-language-pack-ja-JP

conda-forge/linux-64                                        Using cache
conda-forge/noarch                                          Using cache
nodefaults/linux-64                                           No change
nodefaults/noarch                                             No change

Pinned packages:
  - python 3.12.*


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.1.post2  pyh87cfba7_0  conda-forge     Cached

  Summary:

  Install: 1 packages

  Total download: 0 B

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


Confirm changes: [Y/n] 

Transaction starting
Linking jupyterlab-language-pack-ja-jp-4.1.post2-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

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

mambacondamicromamba の何れかで conda 環境の jupyterlab を更新する(※要再スタート)🤔

$ mamba update --prefix ~/.config/jupyterlab-desktop/jlab_server jupyterlab

conda-forge/linux-64                                        Using cache
conda-forge/noarch                                          Using cache
nodefaults/linux-64                                         Using cache
nodefaults/noarch                                           Using cache

Pinned packages:
  - python 3.12.*

Transaction

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

  Updating specs:

   - jupyterlab


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

  - jupyterlab    4.1.2  pyhd8ed1ab_0  conda-forge      7MB
  + jupyterlab    4.1.5  pyhd8ed1ab_0  conda-forge      7MB

  Summary:

  Upgrade: 1 packages

  Total download: 7MB

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


Confirm changes: [Y/n] 

Transaction starting
jupyterlab                                           7.1MB @   2.2MB/s  3.2s
Changing jupyterlab-4.1.2-pyhd8ed1ab_0 ==> jupyterlab-4.1.5-pyhd8ed1ab_0
warning  libmamba [jupyterlab-4.1.5-pyhd8ed1ab_0] The following files were already present in the environment:
    - lib/python3.12/site-packages/jupyterlab/__init__.py
    - lib/python3.12/site-packages/jupyterlab/__main__.py
    - lib/python3.12/site-packages/jupyterlab/_version.py
    - lib/python3.12/site-packages/jupyterlab/browser-test.js
    - lib/python3.12/site-packages/jupyterlab/browser_check.py
    - lib/python3.12/site-packages/jupyterlab/commands.py
    - lib/python3.12/site-packages/jupyterlab/coreconfig.py
    - lib/python3.12/site-packages/jupyterlab/debuglog.py
    - lib/python3.12/site-packages/jupyterlab/extensions/__init__.py
    - lib/python3.12/site-packages/jupyterlab/extensions/manager.py
    - lib/python3.12/site-packages/jupyterlab/extensions/pypi.py
    - lib/python3.12/site-packages/jupyterlab/extensions/readonly.py
    - lib/python3.12/site-packages/jupyterlab/federated_labextensions.py
    - lib/python3.12/site-packages/jupyterlab/galata/@jupyterlab/galata-extension/build_log.json
    - lib/python3.12/site-packages/jupyterlab/galata/@jupyterlab/galata-extension/package.json
    - lib/python3.12/site-packages/jupyterlab/galata/@jupyterlab/galata-extension/static/lib_extension_index_js.193465adc9aa81a6b29f.js
    - lib/python3.12/site-packages/jupyterlab/galata/@jupyterlab/galata-extension/static/style.js
    - lib/python3.12/site-packages/jupyterlab/galata/__init__.py
    - lib/python3.12/site-packages/jupyterlab/handlers/__init__.py
    - lib/python3.12/site-packages/jupyterlab/handlers/announcements.py
    - lib/python3.12/site-packages/jupyterlab/handlers/build_handler.py
    - lib/python3.12/site-packages/jupyterlab/handlers/error_handler.py
    - lib/python3.12/site-packages/jupyterlab/handlers/extension_manager_handler.py
    - lib/python3.12/site-packages/jupyterlab/handlers/plugin_manager_handler.py
    - lib/python3.12/site-packages/jupyterlab/jlpmapp.py
    - lib/python3.12/site-packages/jupyterlab/labapp.py
    - lib/python3.12/site-packages/jupyterlab/labextensions.py
    - lib/python3.12/site-packages/jupyterlab/labhubapp.py
    - lib/python3.12/site-packages/jupyterlab/node-version-check.js
    - lib/python3.12/site-packages/jupyterlab/pytest_plugin.py
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/application-extension/commands.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/application-extension/context-menu.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/application-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/application-extension/property-inspector.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/application-extension/shell.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/application-extension/top-bar.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/apputils-extension/notification.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/apputils-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/apputils-extension/palette.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/apputils-extension/print.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/apputils-extension/sanitizer.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/apputils-extension/themes.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/apputils-extension/utilityCommands.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/apputils-extension/workspaces.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/cell-toolbar-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/cell-toolbar-extension/plugin.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/celltags-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/celltags-extension/plugin.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/codemirror-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/codemirror-extension/plugin.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/completer-extension/inline-completer.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/completer-extension/manager.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/completer-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/console-extension/completer.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/console-extension/foreign.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/console-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/console-extension/tracker.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/csvviewer-extension/csv.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/csvviewer-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/csvviewer-extension/tsv.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/debugger-extension/main.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/debugger-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/docmanager-extension/download.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/docmanager-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/docmanager-extension/plugin.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/documentsearch-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/documentsearch-extension/plugin.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/extensionmanager-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/extensionmanager-extension/plugin.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/filebrowser-extension/browser.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/filebrowser-extension/download.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/filebrowser-extension/open-browser-tab.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/filebrowser-extension/open-with.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/filebrowser-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/filebrowser-extension/widget.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/fileeditor-extension/completer.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/fileeditor-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/fileeditor-extension/plugin.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/help-extension/about.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/help-extension/jupyter-forum.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/help-extension/launch-classic.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/help-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/htmlviewer-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/htmlviewer-extension/plugin.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/hub-extension/menu.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/hub-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/imageviewer-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/imageviewer-extension/plugin.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/inspector-extension/consoles.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/inspector-extension/inspector.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/inspector-extension/notebooks.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/inspector-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/launcher-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/launcher-extension/plugin.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/logconsole-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/logconsole-extension/plugin.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/lsp-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/lsp-extension/plugin.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/mainmenu-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/mainmenu-extension/plugin.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/markdownviewer-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/markdownviewer-extension/plugin.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/mathjax-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/mathjax-extension/plugin.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/metadataform-extension/metadataforms.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/metadataform-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/notebook-extension/completer.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/notebook-extension/export.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/notebook-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/notebook-extension/panel.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/notebook-extension/tools.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/notebook-extension/tracker.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/running-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/running-extension/plugin.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/settingeditor-extension/form-ui.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/settingeditor-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/settingeditor-extension/plugin.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/shortcuts-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/shortcuts-extension/shortcuts.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/statusbar-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/statusbar-extension/plugin.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/terminal-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/terminal-extension/plugin.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/toc-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/toc-extension/registry.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/tooltip-extension/consoles.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/tooltip-extension/files.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/tooltip-extension/notebooks.json
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/tooltip-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/translation-extension/package.json.orig
    - lib/python3.12/site-packages/jupyterlab/schemas/@jupyterlab/translation-extension/plugin.json
    - lib/python3.12/site-packages/jupyterlab/semver.py
    - lib/python3.12/site-packages/jupyterlab/serverextension.py
    - lib/python3.12/site-packages/jupyterlab/staging/.yarnrc.yml
    - lib/python3.12/site-packages/jupyterlab/staging/bootstrap.js
    - lib/python3.12/site-packages/jupyterlab/staging/index.js
    - lib/python3.12/site-packages/jupyterlab/staging/package.json
    - lib/python3.12/site-packages/jupyterlab/staging/publicpath.js
    - lib/python3.12/site-packages/jupyterlab/staging/templates/403.html
    - lib/python3.12/site-packages/jupyterlab/staging/templates/error.html
    - lib/python3.12/site-packages/jupyterlab/staging/templates/partial.html
    - lib/python3.12/site-packages/jupyterlab/staging/templates/template.html
    - lib/python3.12/site-packages/jupyterlab/staging/webpack.config.js
    - lib/python3.12/site-packages/jupyterlab/staging/webpack.prod.config.js
    - lib/python3.12/site-packages/jupyterlab/staging/webpack.prod.minimize.config.js
    - lib/python3.12/site-packages/jupyterlab/staging/webpack.prod.release.config.js
    - lib/python3.12/site-packages/jupyterlab/staging/yarn.js
    - lib/python3.12/site-packages/jupyterlab/staging/yarn.lock
    - lib/python3.12/site-packages/jupyterlab/static/1085.0b67f0736d85ec41fdd4.js
    - lib/python3.12/site-packages/jupyterlab/static/1142.d5442a459b18907c1f91.js
    - lib/python3.12/site-packages/jupyterlab/static/1166.08f9e1fd722f61c9b69c.js
    - lib/python3.12/site-packages/jupyterlab/static/1168.0a95b9c93afe61ceb527.js
    - lib/python3.12/site-packages/jupyterlab/static/1294.9d27be1098bc8abebe3f.js
    - lib/python3.12/site-packages/jupyterlab/static/1410.e2302ff5f564d6e596bb.js
    - lib/python3.12/site-packages/jupyterlab/static/1420.e8486ed074346bc629ca.js
    - lib/python3.12/site-packages/jupyterlab/static/1452.4cc17f31511d1f9c6052.js
    - lib/python3.12/site-packages/jupyterlab/static/1467.dcd89539f6477c1367af.js
    - lib/python3.12/site-packages/jupyterlab/static/1550.09375e869bc25429b07a.js
    - lib/python3.12/site-packages/jupyterlab/static/1608.61240f3db67d3d952790.js
    - lib/python3.12/site-packages/jupyterlab/static/1716.a6bbe1ae8a1986a73623.js
    - lib/python3.12/site-packages/jupyterlab/static/1760.9a71f4501e9bbaa4c4d8.js
    - lib/python3.12/site-packages/jupyterlab/static/1776.4f9305d35480467b23c9.js
    - lib/python3.12/site-packages/jupyterlab/static/1861.4fc7b4afe2b09eb6b5c0.js
    - lib/python3.12/site-packages/jupyterlab/static/1903.3b452e8ec30e57dbaba5.js
    - lib/python3.12/site-packages/jupyterlab/static/1917.05d73322caab1f77e3bf.js
    - lib/python3.12/site-packages/jupyterlab/static/1929.96e62233aa6f2a8363d4.js
    - lib/python3.12/site-packages/jupyterlab/static/1945.0fbbfe93a4aedd91875c.js
    - lib/python3.12/site-packages/jupyterlab/static/1954.07d96e4020ed6e543d25.js
    - lib/python3.12/site-packages/jupyterlab/static/1993.f8c5682f95ffa75cbaf6.js
    - lib/python3.12/site-packages/jupyterlab/static/1cb1c39ea642f26a4dfe.woff
    - lib/python3.12/site-packages/jupyterlab/static/2090.abc86741318f76c3d726.js
    - lib/python3.12/site-packages/jupyterlab/static/2091.600b1c32af186f6405f9.js
    - lib/python3.12/site-packages/jupyterlab/static/2104.296346db0067b4883fbf.js
    - lib/python3.12/site-packages/jupyterlab/static/2145.be9ec610f29703694fcf.js
    - lib/python3.12/site-packages/jupyterlab/static/2254.55c69210925ec9b28dd9.js
    - lib/python3.12/site-packages/jupyterlab/static/226.5dc3528c008170b37b21.js
    - lib/python3.12/site-packages/jupyterlab/static/2295.cda0f7182bf2a1a03c5a.js
    - lib/python3.12/site-packages/jupyterlab/static/2320.04abae549b19363c2fdd.js
    - lib/python3.12/site-packages/jupyterlab/static/2363.6eef078cb37c32d7fbc3.js
    - lib/python3.12/site-packages/jupyterlab/static/2459.9f9cb02561de1bec73ff.js
    - lib/python3.12/site-packages/jupyterlab/static/2485.dab750ed66209df61fe1.js
    - lib/python3.12/site-packages/jupyterlab/static/2551.b07d561a12360c38c589.js
    - lib/python3.12/site-packages/jupyterlab/static/2579.b19edefeb9ee4daed4bd.js
    - lib/python3.12/site-packages/jupyterlab/static/2617.9c299e26785f7646cb39.js
    - lib/python3.12/site-packages/jupyterlab/static/2646.0864fb63d7ab1ed16893.js
    - lib/python3.12/site-packages/jupyterlab/static/2655.71a94960aa4ab2040d8f.js
    - lib/python3.12/site-packages/jupyterlab/static/26683bf201fb258a2237.woff
    - lib/python3.12/site-packages/jupyterlab/static/2727.6925b8cf1c5363f40138.js
    - lib/python3.12/site-packages/jupyterlab/static/2755.696bab6bdca0d9a78131.js
    - lib/python3.12/site-packages/jupyterlab/static/2800.680b1fa0a4c66c69bb1e.js
    - lib/python3.12/site-packages/jupyterlab/static/2857.27a6e85f5c4c092ab8a2.js
    - lib/python3.12/site-packages/jupyterlab/static/2909.e190307f7f84c7691068.js
    - lib/python3.12/site-packages/jupyterlab/static/292.3f7844a129f16ec1ffbc.js
    - lib/python3.12/site-packages/jupyterlab/static/2929.b88233153dbf33f40b29.js
    - lib/python3.12/site-packages/jupyterlab/static/2990.ea15322a41d3f133989b.js
    - lib/python3.12/site-packages/jupyterlab/static/2995.0448b3ed572d9cc5fcc7.js
    - lib/python3.12/site-packages/jupyterlab/static/30e889b58cbc51adfbb0.woff
    - lib/python3.12/site-packages/jupyterlab/static/3123.85cea4be2e2ed3f9654f.js
    - lib/python3.12/site-packages/jupyterlab/static/32792104b5ef69eded90.woff
    - lib/python3.12/site-packages/jupyterlab/static/3306.8bdc49ad1a7ca593a838.js
    - lib/python3.12/site-packages/jupyterlab/static/3308.764d71af7e591cdb1345.js
    - lib/python3.12/site-packages/jupyterlab/static/3520.3495b98946de6960ace8.js
    - lib/python3.12/site-packages/jupyterlab/static/3528.3b5ef5f31d460b5fcd01.js
    - lib/python3.12/site-packages/jupyterlab/static/3547.bd90e90bfe79911486e8.js
    - lib/python3.12/site-packages/jupyterlab/static/3549.24f2fe646d8128bc9db0.js
    - lib/python3.12/site-packages/jupyterlab/static/355254db9ca10a09a3b5.woff
    - lib/python3.12/site-packages/jupyterlab/static/3601.5c17c015d71b69ddcab3.js
    - lib/python3.12/site-packages/jupyterlab/static/36e0d72d8a7afc696a3e.woff
    - lib/python3.12/site-packages/jupyterlab/static/3711.150292a21fd47be1c05f.js
    - lib/python3.12/site-packages/jupyterlab/static/3724.a4657dc16be2ffc49282.js
    - lib/python3.12/site-packages/jupyterlab/static/373c04fd2418f5c77eea.eot
    - lib/python3.12/site-packages/jupyterlab/static/378.6d0f0fc4c8a2eb80ac43.js
    - lib/python3.12/site-packages/jupyterlab/static/3783.93d5366ab28a19e1f0f9.js
    - lib/python3.12/site-packages/jupyterlab/static/3807.08a8fd824036c30b3746.js
    - lib/python3.12/site-packages/jupyterlab/static/383.db345dbeef5ef774e50c.js
    - lib/python3.12/site-packages/jupyterlab/static/3871.ba96e5b53bb16df56618.js
    - lib/python3.12/site-packages/jupyterlab/static/3923.f29c06abdcb560130471.js
    - lib/python3.12/site-packages/jupyterlab/static/3935.905285b8e22c337968ed.js
    - lib/python3.12/site-packages/jupyterlab/static/3935.905285b8e22c337968ed.js.LICENSE.txt
    - lib/python3.12/site-packages/jupyterlab/static/3962.50786e3ed9a01329a4a0.js
    - lib/python3.12/site-packages/jupyterlab/static/3bc6ecaae7ecf6f8d7f8.woff
    - lib/python3.12/site-packages/jupyterlab/static/3de784d07b9fa8f104c1.woff
    - lib/python3.12/site-packages/jupyterlab/static/3f6d3488cf65374f6f67.woff
    - lib/python3.12/site-packages/jupyterlab/static/4008.86acbefff6de679f77b5.js
    - lib/python3.12/site-packages/jupyterlab/static/4008.86acbefff6de679f77b5.js.LICENSE.txt
    - lib/python3.12/site-packages/jupyterlab/static/4017.096a74a538e031b6d346.js
    - lib/python3.12/site-packages/jupyterlab/static/4043.aa012978c41d1d1b2f14.js
    - lib/python3.12/site-packages/jupyterlab/static/406.81906f96059e31e907a2.js
    - lib/python3.12/site-packages/jupyterlab/static/4086.3087c0abed5ca45b823b.js
    - lib/python3.12/site-packages/jupyterlab/static/4139.303ee7374c742287be85.js
    - lib/python3.12/site-packages/jupyterlab/static/4155.5a8d6736017097028d78.js
    - lib/python3.12/site-packages/jupyterlab/static/4283.f6092d8b7f2e53118d1b.js
    - lib/python3.12/site-packages/jupyterlab/static/4291.e5d8997127541f75fdaf.js
    - lib/python3.12/site-packages/jupyterlab/static/4405.43dab120fea32f30bbb9.js
    - lib/python3.12/site-packages/jupyterlab/static/4419.93938494f456cd76a7e3.js
    - lib/python3.12/site-packages/jupyterlab/static/4452.2f8819684b96ecff5231.js
    - lib/python3.12/site-packages/jupyterlab/static/4519.6b784d052db42e93eff2.js
    - lib/python3.12/site-packages/jupyterlab/static/4562.72444a09f5f092646490.js
    - lib/python3.12/site-packages/jupyterlab/static/4591.428531724f49fe824ffa.js
    - lib/python3.12/site-packages/jupyterlab/static/46.fb119c5e5b1e0c72a00f.js
    - lib/python3.12/site-packages/jupyterlab/static/4743.d4e9658ea25301e15a94.js
    - lib/python3.12/site-packages/jupyterlab/static/4765.093b4f8b3cee1251db8d.js
    - lib/python3.12/site-packages/jupyterlab/static/481e39042508ae313a60.woff
    - lib/python3.12/site-packages/jupyterlab/static/4878.73004381601237a3ef9c.js
    - lib/python3.12/site-packages/jupyterlab/static/49.7233f68f95d10b85a83e.js
    - lib/python3.12/site-packages/jupyterlab/static/4986.a497cdda4b7152902568.js
    - lib/python3.12/site-packages/jupyterlab/static/5041.cdc120bda0a0dec4cfc2.js
    - lib/python3.12/site-packages/jupyterlab/static/5157.9c77dc27a251d4135876.js
    - lib/python3.12/site-packages/jupyterlab/static/5201.8866042bae350659528a.js
    - lib/python3.12/site-packages/jupyterlab/static/5203.c002d40ac647dc6e1d61.js
    - lib/python3.12/site-packages/jupyterlab/static/526.601d8ddd8347cd7790b9.js
    - lib/python3.12/site-packages/jupyterlab/static/5331.0cd3f010bb08983ec3fd.js
    - lib/python3.12/site-packages/jupyterlab/static/5440.2541fcda12b661665148.js
    - lib/python3.12/site-packages/jupyterlab/static/5521.ce4a0274596e0325374c.js
    - lib/python3.12/site-packages/jupyterlab/static/5746.e4434ef2027bcc5ed0c9.js
    - lib/python3.12/site-packages/jupyterlab/static/5794.3cb2bcd1a3e23d0c084e.js
    - lib/python3.12/site-packages/jupyterlab/static/581.2b878ed37172aced15b5.js
    - lib/python3.12/site-packages/jupyterlab/static/5881.3946238aa4afdcf4f964.js
    - lib/python3.12/site-packages/jupyterlab/static/5959.a6b1fd3b03d3649ea8b1.js
    - lib/python3.12/site-packages/jupyterlab/static/5cda41563a095bd70c78.woff
    - lib/python3.12/site-packages/jupyterlab/static/6001.963601fcecb8b4c1d1f1.js
    - lib/python3.12/site-packages/jupyterlab/static/6059.d83e7323b2ee1aa16009.js
    - lib/python3.12/site-packages/jupyterlab/static/6163.f5b51a9f0df4846ba40f.js
    - lib/python3.12/site-packages/jupyterlab/static/6207.a8079c8d8a61039dd530.js
    - lib/python3.12/site-packages/jupyterlab/static/6243.2efd673d1304c43b7b78.js
    - lib/python3.12/site-packages/jupyterlab/static/6267.1def2916929e185ab9fc.js
    - lib/python3.12/site-packages/jupyterlab/static/627.7e292370f4d61d9e8648.js
    - lib/python3.12/site-packages/jupyterlab/static/627.7e292370f4d61d9e8648.js.LICENSE.txt
    - lib/python3.12/site-packages/jupyterlab/static/6359.4b994bfd6b1dea2d6fe3.js
    - lib/python3.12/site-packages/jupyterlab/static/6436.8d9ba427de4ab1053871.js
    - lib/python3.12/site-packages/jupyterlab/static/6443.e6b52d3732b3e8513a71.js
    - lib/python3.12/site-packages/jupyterlab/static/6515.56c63929fb079a820cbc.js
    - lib/python3.12/site-packages/jupyterlab/static/6532.bb7137729a2d6d4e6ddf.js
    - lib/python3.12/site-packages/jupyterlab/static/6560.f42276a0b1b92aea515b.js
    - lib/python3.12/site-packages/jupyterlab/static/6595.6a1d7e1abbf186dd119b.js
    - lib/python3.12/site-packages/jupyterlab/static/6686.3c518aa6e5f9785fb486.js
    - lib/python3.12/site-packages/jupyterlab/static/6778.345e6ac9818e30317310.js
    - lib/python3.12/site-packages/jupyterlab/static/6815.0b699f0c162a24b0dbe3.js
    - lib/python3.12/site-packages/jupyterlab/static/6888.9d3914817f3290827a64.js
    - lib/python3.12/site-packages/jupyterlab/static/6898.742a7062fa979fb68a80.js
    - lib/python3.12/site-packages/jupyterlab/static/7080.1330328bb6f46b4da81e.js
    - lib/python3.12/site-packages/jupyterlab/static/7112.d5120c85ebd17620dda0.js
    - lib/python3.12/site-packages/jupyterlab/static/7161.353c3ab960df72e6f1ea.js
    - lib/python3.12/site-packages/jupyterlab/static/7173.e28f63dbd553818e07d3.js
    - lib/python3.12/site-packages/jupyterlab/static/7178.5f3dd740449b44efad2d.js
    - lib/python3.12/site-packages/jupyterlab/static/7178.5f3dd740449b44efad2d.js.LICENSE.txt
    - lib/python3.12/site-packages/jupyterlab/static/721921bab0d001ebff02.woff
    - lib/python3.12/site-packages/jupyterlab/static/7245.c0cae8787dcd00b991b7.js
    - lib/python3.12/site-packages/jupyterlab/static/7272.72081c10e0f645b0631a.js
    - lib/python3.12/site-packages/jupyterlab/static/7294.badf85a3180703d63f62.js
    - lib/python3.12/site-packages/jupyterlab/static/7294.badf85a3180703d63f62.js.LICENSE.txt
    - lib/python3.12/site-packages/jupyterlab/static/72bc573386dd1d48c5bb.woff
    - lib/python3.12/site-packages/jupyterlab/static/7313.4a8a9a1eee6f7ef15ee1.js
    - lib/python3.12/site-packages/jupyterlab/static/7313.4a8a9a1eee6f7ef15ee1.js.LICENSE.txt
    - lib/python3.12/site-packages/jupyterlab/static/7317.af8a7da0f881a22752c1.js
    - lib/python3.12/site-packages/jupyterlab/static/7318.397bf8e913e825b2be27.js
    - lib/python3.12/site-packages/jupyterlab/static/7363.abe8e31a91e113753bae.js
    - lib/python3.12/site-packages/jupyterlab/static/7384.60351e008d8f687e8fcc.js
    - lib/python3.12/site-packages/jupyterlab/static/7390.8253478b90f756692702.js
    - lib/python3.12/site-packages/jupyterlab/static/7426.c83966ccc62601d391bd.js
    - lib/python3.12/site-packages/jupyterlab/static/7426.c83966ccc62601d391bd.js.LICENSE.txt
    - lib/python3.12/site-packages/jupyterlab/static/745.85516a9bb83bcd94d00d.js
    - lib/python3.12/site-packages/jupyterlab/static/7451.c0257dbfdd320e2c21f5.js
    - lib/python3.12/site-packages/jupyterlab/static/7451.c0257dbfdd320e2c21f5.js.LICENSE.txt
    - lib/python3.12/site-packages/jupyterlab/static/7472.58ba8647a489d019c2ef.js
    - lib/python3.12/site-packages/jupyterlab/static/7473.5012397d10d3b945ecaa.js
    - lib/python3.12/site-packages/jupyterlab/static/7511.b381a696cf806983c654.js
    - lib/python3.12/site-packages/jupyterlab/static/7517.f3e5d420f4af90d442dd.js
    - lib/python3.12/site-packages/jupyterlab/static/7629.1f295461ebf56a48c197.js
    - lib/python3.12/site-packages/jupyterlab/static/7669.343e259c4c8269479f5b.js
    - lib/python3.12/site-packages/jupyterlab/static/7702.c479c69f7a532f7b3fd5.js
    - lib/python3.12/site-packages/jupyterlab/static/7730.7e3a9fb140d2d55a51fc.js
    - lib/python3.12/site-packages/jupyterlab/static/7731.26db150e967313b7a7e2.js
    - lib/python3.12/site-packages/jupyterlab/static/7734.b08c15e9f538f44d0f52.js
    - lib/python3.12/site-packages/jupyterlab/static/7763.19a095394000f9ef62bd.js
    - lib/python3.12/site-packages/jupyterlab/static/7763.19a095394000f9ef62bd.js.LICENSE.txt
    - lib/python3.12/site-packages/jupyterlab/static/7775.3e0dee729369fe3d5008.js
    - lib/python3.12/site-packages/jupyterlab/static/7823.817687f13e9a6781fdd3.js
    - lib/python3.12/site-packages/jupyterlab/static/7827.e36d073d947bf02a05e3.js
    - lib/python3.12/site-packages/jupyterlab/static/7848.e83aa4b90ae87209abb8.js
    - lib/python3.12/site-packages/jupyterlab/static/786.8a99ee7dbd7bd0eb9dce.js
    - lib/python3.12/site-packages/jupyterlab/static/7877.a4c46a784149533b91d4.js
    - lib/python3.12/site-packages/jupyterlab/static/7887.128a155df5d25e88c0ce.js
    - lib/python3.12/site-packages/jupyterlab/static/7946.7fe46d47492e459b7cb5.js
    - lib/python3.12/site-packages/jupyterlab/static/795.47ab66037ef33f808f09.js
    - lib/python3.12/site-packages/jupyterlab/static/79d088064beb3826054f.eot
    - lib/python3.12/site-packages/jupyterlab/static/8002.25f64485372af5158c83.js
    - lib/python3.12/site-packages/jupyterlab/static/8010.1cf8237e9def8404f355.js
    - lib/python3.12/site-packages/jupyterlab/static/8012.40cb006f0c180ebafa91.js
    - lib/python3.12/site-packages/jupyterlab/static/8152.5baac73844a065f34284.js
    - lib/python3.12/site-packages/jupyterlab/static/8285.1eac7b7582569be1c3a8.js
    - lib/python3.12/site-packages/jupyterlab/static/8302.5c5e5a2da7fe74b12a1d.js
    - lib/python3.12/site-packages/jupyterlab/static/8319.80fcbc832e1eb20b71e7.js
    - lib/python3.12/site-packages/jupyterlab/static/8322.288af285dac9cb9a8800.js
    - lib/python3.12/site-packages/jupyterlab/static/8347.573b699e3590729bfa8a.js
    - lib/python3.12/site-packages/jupyterlab/static/8405.154ba4b17a2dec22a355.js
    - lib/python3.12/site-packages/jupyterlab/static/8462.74d5f5afd4f9d7825eed.js
    - lib/python3.12/site-packages/jupyterlab/static/8493.fc635229db38e6fc6aa2.js
    - lib/python3.12/site-packages/jupyterlab/static/8498.27a245b23921914bf5c2.js
    - lib/python3.12/site-packages/jupyterlab/static/8512.1af96655287fd124877b.js
    - lib/python3.12/site-packages/jupyterlab/static/8678.dcd3dab9025b13eb9be8.js
    - lib/python3.12/site-packages/jupyterlab/static/870673df72e70f87c91a.woff
    - lib/python3.12/site-packages/jupyterlab/static/8710.5fc5ecb762fb4494db02.js
    - lib/python3.12/site-packages/jupyterlab/static/8738.782816e9072ac38762b4.js
    - lib/python3.12/site-packages/jupyterlab/static/8771.327a202178f82f3b15b8.js
    - lib/python3.12/site-packages/jupyterlab/static/8787.4d36d28dcf94bf59cbfe.js
    - lib/python3.12/site-packages/jupyterlab/static/8805.0f14a91b024b59c039a7.js
    - lib/python3.12/site-packages/jupyterlab/static/881.972f79365eed0f77378e.js
    - lib/python3.12/site-packages/jupyterlab/static/8823.2ff947bcd96cc0723058.js
    - lib/python3.12/site-packages/jupyterlab/static/8875.88988caaba1e33edad5b.js
    - lib/python3.12/site-packages/jupyterlab/static/88b98cad3688915e50da.woff
    - lib/python3.12/site-packages/jupyterlab/static/8ea8791754915a898a31.woff2
    - lib/python3.12/site-packages/jupyterlab/static/8ea8dbb1b02e6f730f55.woff
    - lib/python3.12/site-packages/jupyterlab/static/9.0e0cba0ccc2a4b670600.js
    - lib/python3.12/site-packages/jupyterlab/static/9030.260bc05e28eccff70ae8.js
    - lib/python3.12/site-packages/jupyterlab/static/9041.df39043656c7233552e4.js
    - lib/python3.12/site-packages/jupyterlab/static/9055.bd710a8db8883a836b59.js
    - lib/python3.12/site-packages/jupyterlab/static/9109.fa3ee74a5c0f378f4d51.js
    - lib/python3.12/site-packages/jupyterlab/static/9192.db4337a516b7f38d1f89.js
    - lib/python3.12/site-packages/jupyterlab/static/9222.1c2a8e69a2de57dd1984.js
    - lib/python3.12/site-packages/jupyterlab/static/9230.58b8c42b730e1a56e69b.js
    - lib/python3.12/site-packages/jupyterlab/static/9265.bc2b66a4502cdfcfc14f.js
    - lib/python3.12/site-packages/jupyterlab/static/9362.823dcfac216f8057452d.js
    - lib/python3.12/site-packages/jupyterlab/static/9395.b59dceae72715c9f885c.js
    - lib/python3.12/site-packages/jupyterlab/static/9409.34c33ed11e2d6f318480.js
    - lib/python3.12/site-packages/jupyterlab/static/942.93c8de61ea9ea08ec097.js
    - lib/python3.12/site-packages/jupyterlab/static/9421.022dc7b4e9a2c80c32c2.js
    - lib/python3.12/site-packages/jupyterlab/static/9440.04751e25c9cde059ff37.js
    - lib/python3.12/site-packages/jupyterlab/static/9445.fe5e9e5b728de8d15873.js
    - lib/python3.12/site-packages/jupyterlab/static/9579.4b1b079b6b7cd2924338.js
    - lib/python3.12/site-packages/jupyterlab/static/9579.4b1b079b6b7cd2924338.js.LICENSE.txt
    - lib/python3.12/site-packages/jupyterlab/static/9621.9cbfa52c42927bb398b4.js
    - lib/python3.12/site-packages/jupyterlab/static/9653.d93c93e084cd5e93cd2d.js
    - lib/python3.12/site-packages/jupyterlab/static/9674eb1bd55047179038.svg
    - lib/python3.12/site-packages/jupyterlab/static/9738.c0234a1f7f6ac262f560.js
    - lib/python3.12/site-packages/jupyterlab/static/9747.6dd327f4928c6989ea8a.js
    - lib/python3.12/site-packages/jupyterlab/static/9747.6dd327f4928c6989ea8a.js.LICENSE.txt
    - lib/python3.12/site-packages/jupyterlab/static/9826.406d2a71dc45995bc549.js
    - lib/python3.12/site-packages/jupyterlab/static/9826.406d2a71dc45995bc549.js.LICENSE.txt
    - lib/python3.12/site-packages/jupyterlab/static/9834b82ad26e2a37583d.woff2
    - lib/python3.12/site-packages/jupyterlab/static/9870.70b2b59cc96c3a97c489.js
    - lib/python3.12/site-packages/jupyterlab/static/9984.6ba5355e0d5487d5ac63.js
    - lib/python3.12/site-packages/jupyterlab/static/a009bea404f7a500ded4.woff
    - lib/python3.12/site-packages/jupyterlab/static/a3b9817780214caf01e8.svg
    - lib/python3.12/site-packages/jupyterlab/static/af04542b29eaac04550a.woff
    - lib/python3.12/site-packages/jupyterlab/static/af6397503fcefbd61397.ttf
    - lib/python3.12/site-packages/jupyterlab/static/af96f67d7accf5fd2a4a.woff
    - lib/python3.12/site-packages/jupyterlab/static/b418136e3b384baaadec.woff
    - lib/python3.12/site-packages/jupyterlab/static/be0a084962d8066884f7.svg
    - lib/python3.12/site-packages/jupyterlab/static/bootstrap.js
    - lib/python3.12/site-packages/jupyterlab/static/build_log.json
    - lib/python3.12/site-packages/jupyterlab/static/c49810b53ecc0d87d802.woff
    - lib/python3.12/site-packages/jupyterlab/static/c56da8d69f1a0208b8e0.woff
    - lib/python3.12/site-packages/jupyterlab/static/cb9e9e693192413cde2b.woff
    - lib/python3.12/site-packages/jupyterlab/static/cda59d6efffa685830fd.ttf
    - lib/python3.12/site-packages/jupyterlab/static/e4299464e7b012968eed.eot
    - lib/python3.12/site-packages/jupyterlab/static/e42a88444448ac3d6054.woff2
    - lib/python3.12/site-packages/jupyterlab/static/e8711bbb871afd8e9dea.ttf
    - lib/python3.12/site-packages/jupyterlab/static/f9217f66874b0c01cd8c.woff
    - lib/python3.12/site-packages/jupyterlab/static/fc6ddf5df402b263cfb1.woff
    - lib/python3.12/site-packages/jupyterlab/static/index.html
    - lib/python3.12/site-packages/jupyterlab/static/index.out.js
    - lib/python3.12/site-packages/jupyterlab/static/package.json
    - lib/python3.12/site-packages/jupyterlab/static/style.js
    - lib/python3.12/site-packages/jupyterlab/static/third-party-licenses.json
    - lib/python3.12/site-packages/jupyterlab/style.js
    - lib/python3.12/site-packages/jupyterlab/tests/__init__.py
    - lib/python3.12/site-packages/jupyterlab/tests/conftest.py
    - lib/python3.12/site-packages/jupyterlab/tests/echo_kernel.py
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/.yarnrc.yml
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/extension/index.js
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/extension/mock_package.py
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/extension/package.json
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/extension/setup.py
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/extension/yarn.lock
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/incompat/index.js
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/incompat/package.json
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/interop/consumer/index.js
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/interop/consumer/jlab_mock_consumer.py
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/interop/consumer/package.json
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/interop/consumer/setup.py
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/interop/provider/index.js
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/interop/provider/jlab_mock_provider.py
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/interop/provider/package.json
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/interop/provider/setup.py
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/interop/token/index.js
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/interop/token/package.json
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/mimeextension/index.js
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/mimeextension/package.json
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/mimeextension/yarn.lock
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/package/index.js
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/package/package.json
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/test-hyphens-underscore/MANIFEST.in
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/test-hyphens-underscore/index.js
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/test-hyphens-underscore/package.json
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/test-hyphens-underscore/pyproject.toml
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/test-hyphens-underscore/setup.py
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/test-hyphens-underscore/test_hyphens_underscore/__init__.py
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/test-hyphens-underscore/yarn.lock
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/test-hyphens/MANIFEST.in
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/test-hyphens/index.js
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/test-hyphens/package.json
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/test-hyphens/pyproject.toml
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/test-hyphens/setup.py
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/test-hyphens/test_hyphens/__init__.py
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/test-hyphens/yarn.lock
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/test_no_hyphens/MANIFEST.in
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/test_no_hyphens/index.js
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/test_no_hyphens/package.json
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/test_no_hyphens/pyproject.toml
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/test_no_hyphens/setup.py
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/test_no_hyphens/test_no_hyphens/__init__.py
    - lib/python3.12/site-packages/jupyterlab/tests/mock_packages/test_no_hyphens/yarn.lock
    - lib/python3.12/site-packages/jupyterlab/tests/test_announcements.py
    - lib/python3.12/site-packages/jupyterlab/tests/test_app.py
    - lib/python3.12/site-packages/jupyterlab/tests/test_build_api.py
    - lib/python3.12/site-packages/jupyterlab/tests/test_custom_css_handler.py
    - lib/python3.12/site-packages/jupyterlab/tests/test_extensions.py
    - lib/python3.12/site-packages/jupyterlab/tests/test_jupyterlab.py
    - lib/python3.12/site-packages/jupyterlab/tests/test_registry.py
    - lib/python3.12/site-packages/jupyterlab/themes/@jupyterlab/theme-dark-extension/index.css
    - lib/python3.12/site-packages/jupyterlab/themes/@jupyterlab/theme-dark-extension/index.js
    - lib/python3.12/site-packages/jupyterlab/themes/@jupyterlab/theme-light-extension/index.css
    - lib/python3.12/site-packages/jupyterlab/themes/@jupyterlab/theme-light-extension/index.js
    - lib/python3.12/site-packages/jupyterlab/upgrade_extension.py
    - lib/python3.12/site-packages/jupyterlab/utils.py

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

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

Open Developer Toolsから開く🤔

Open Developer Tools

Open Developer Tools

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

pipx - 分離環境での Python アプリケーションのインストールと実行 を参照😉
pipx をインストールしてから以下の手順でインストールする🤔

pipx によって Python 仮想環境が生成されて jupyterlab がインストールされる🤔

$ pipx install --include-deps 'jupyterlab>=4.1.4'

⚠️  Note: normalizer was already on your PATH at /usr/bin/normalizer
  installed package jupyterlab 4.1.4, installed using Python 3.12.2
  These apps are now globally available
    - httpx
    - ipython
    - ipython3
    - jlpm
    - jsonpointer
    - jsonschema
    - jupyter
    - jupyter-dejavu
    - jupyter-events
    - jupyter-execute
    - jupyter-kernel
    - jupyter-kernelspec
    - jupyter-lab
    - jupyter-labextension
    - jupyter-labhub
    - jupyter-migrate
    - jupyter-nbconvert
    - jupyter-run
    - jupyter-server
    - jupyter-troubleshoot
    - jupyter-trust
    - normalizer
    - pybabel
    - pygmentize
    - pyjson5
    - send2trash
    - wsdump
  These manual pages are now globally available
    - man1/ipython.1
done! ✨ 🌟 ✨

jupyterlab-language-pack-ja-JP jupyterlab-git

公式: jupyterlab/language-packs: Language packs for JupyterLab ecosystem 翻訳
   jupyterlab/jupyterlab-git: A Git extension for JupyterLab 翻訳

$ pipx inject jupyterlab jupyterlab-language-pack-ja-JP jupyterlab-git

  injected package jupyterlab-language-pack-ja-jp into venv jupyterlab
done! ✨ 🌟 ✨
  injected package jupyterlab-git into venv jupyterlab
done! ✨ 🌟 ✨

ipywidgets notebook qtconsole

$ pipx inject jupyterlab ipywidgets notebook qtconsole

  injected package ipywidgets into venv jupyterlab
done! ✨ 🌟 ✨
  injected package notebook into venv jupyterlab
done! ✨ 🌟 ✨
  injected package qtconsole into venv jupyterlab
done! ✨ 🌟 ✨

$ jupyter --version

Selected Jupyter core packages...
IPython          : 8.22.2
ipykernel        : 6.29.3
ipywidgets       : 8.1.2
jupyter_client   : 8.6.0
jupyter_core     : 5.7.1
jupyter_server   : 2.13.0
jupyterlab       : 4.1.4
nbclient         : 0.9.0
nbconvert        : 7.16.2
nbformat         : 5.9.2
notebook         : 7.1.1
qtconsole        : 5.5.1
traitlets        : 5.14.1

jupyterlab-lsp

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 用である。

$ pipx inject jupyterlab jupyterlab-lsp

  injected package jupyterlab-lsp into venv jupyterlab
done! ✨ 🌟 ✨

$ 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

yarn add v1.21.1
warning package.json: No license field
warning package-lock.json found. Your project contains lock files generated by tools other than Yarn. It is advised not to mix package managers in order to avoid resolution inconsistencies caused by unsynchronized lock files. To clear this warning, remove package-lock.json.
warning No license field
[1/4] Resolving packages...
warning javascript-typescript-langserver > string-similarity@2.0.0: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
warning sql-language-server > sqlite3 > node-gyp > make-fetch-happen > cacache > @npmcli/move-file@1.1.2: This functionality has been moved to @npmcli/fs
[2/4] Fetching packages...
warning vscode-languageclient@6.1.4: The engine "vscode" appears to be invalid.
info fsevents@2.3.3: The platform "linux" is incompatible with this module.
info "fsevents@2.3.3" is an optional dependency and failed compatibility check. Excluding it from installation.
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Saved lockfile.
warning No license field
warning Your current version of Yarn is out of date. The latest version is "1.22.19", while you're on "1.21.1".
success Saved 150 new dependencies.
info Direct dependencies
├─ bash-language-server@5.0.0
├─ dockerfile-language-server-nodejs@0.11.0
├─ javascript-typescript-langserver@2.11.3
├─ sql-language-server@1.7.0
├─ unified-language-server@3.1.0
├─ vscode-css-languageserver-bin@1.4.0
├─ vscode-html-languageserver-bin@1.4.0
├─ vscode-json-languageserver-bin@1.0.1
└─ yaml-language-server@1.14.0
info All dependencies
├─ @gar/promisify@1.1.3
├─ @google-cloud/bigquery@5.12.0
├─ @google-cloud/common@3.10.0
├─ @google-cloud/paginator@3.0.7
├─ @google-cloud/projectify@2.1.1
├─ @mapbox/node-pre-gyp@1.0.11
├─ @npmcli/fs@1.1.1
├─ @npmcli/move-file@1.1.2
├─ @types/pg@8.10.2
├─ abbrev@1.1.1
├─ abort-controller@3.0.0
├─ agentkeepalive@4.5.0
├─ aggregate-error@3.1.0
├─ ansicolors@0.3.2
├─ aproba@2.0.0
├─ are-we-there-yet@2.0.0
├─ asn1@0.2.6
├─ assertion-error@1.1.0
├─ base64-js@1.5.1
├─ bash-language-server@5.0.0
├─ bcrypt-pbkdf@1.0.2
├─ big.js@6.2.1
├─ bignumber.js@9.1.2
├─ buffer-equal-constant-time@1.0.1
├─ bufrw@1.3.0
├─ cacache@15.3.0
├─ cardinal@2.1.1
├─ chai-as-promised@7.1.1
├─ chai@4.3.8
├─ chownr@2.0.0
├─ clean-stack@2.2.0
├─ color-support@1.1.3
├─ deep-eql@4.1.3
├─ delegates@1.0.0
├─ denque@2.1.0
├─ detect-libc@2.0.2
├─ dockerfile-language-server-nodejs@0.11.0
├─ dockerfile-language-service@0.11.0
├─ duplexify@4.1.2
├─ ecdsa-sig-formatter@1.0.11
├─ encoding@0.1.13
├─ ent@2.2.0
├─ env-paths@2.2.1
├─ err-code@2.0.3
├─ error@7.0.2
├─ event-target-shim@5.0.1
├─ fast-json-patch@2.2.1
├─ fast-text-encoding@1.0.6
├─ fs-minipass@2.1.0
├─ gauge@3.0.2
├─ gcp-metadata@4.3.1
├─ generate-function@2.3.1
├─ google-auth-library@7.14.1
├─ google-p12-pem@3.1.4
├─ gtoken@5.3.2
├─ has-unicode@2.0.1
├─ hexer@1.5.0
├─ http-cache-semantics@4.1.1
├─ humanize-ms@1.2.1
├─ iconv-lite@0.6.3
├─ indent-string@4.0.0
├─ infer-owner@1.0.4
├─ ip@2.0.0
├─ is-lambda@1.0.1
├─ is-property@1.0.2
├─ is@3.3.0
├─ iterare@1.2.1
├─ jaeger-client@3.19.0
├─ javascript-typescript-langserver@2.11.3
├─ json-bigint@1.0.0
├─ jwa@2.0.0
├─ lodash@4.17.21
├─ long@4.0.0
├─ loupe@2.3.6
├─ make-fetch-happen@9.1.0
├─ minimist@1.2.8
├─ minipass-fetch@1.4.1
├─ minipass-pipeline@1.2.4
├─ minipass-sized@1.0.3
├─ minizlib@2.1.2
├─ mkdirp@1.0.4
├─ mysql2@2.3.3
├─ mz@2.7.0
├─ named-placeholders@1.1.3
├─ negotiator@0.6.3
├─ node-addon-api@4.3.0
├─ node-forge@1.3.1
├─ node-gyp@8.4.1
├─ node-ssh-forward@0.6.3
├─ nopt@5.0.0
├─ npmlog@5.0.1
├─ object-assign@4.1.1
├─ object-hash@1.3.1
├─ obuf@1.1.2
├─ opentracing@0.14.7
├─ p-event@4.2.0
├─ p-map@4.0.0
├─ p-timeout@3.2.0
├─ pathval@1.1.1
├─ peggy@3.0.2
├─ pg-cloudflare@1.1.1
├─ pg-connection-string@2.6.2
├─ pg-numeric@1.0.2
├─ pg-pool@3.6.1
├─ pg-protocol@1.6.0
├─ pg@8.11.3
├─ postgres-range@1.1.3
├─ process@0.10.1
├─ promise-inflight@1.0.1
├─ promise-retry@2.0.1
├─ readable-stream@3.6.2
├─ redeyed@2.1.1
├─ retry-request@4.2.2
├─ retry@0.12.0
├─ rxjs@5.5.12
├─ semaphore-async-await@1.5.1
├─ seq-queue@0.0.5
├─ smart-buffer@4.2.0
├─ socks-proxy-agent@6.2.1
├─ socks@2.7.1
├─ source-map-generator@0.8.0
├─ sql-language-server@1.7.0
├─ sqlint@1.7.0
├─ sqlite3@5.1.6
├─ sqlstring@2.3.3
├─ ssh2-streams@0.4.10
├─ ssh2@0.8.9
├─ ssri@8.0.1
├─ stream-shift@1.0.1
├─ streamsearch@0.1.2
├─ string-similarity@2.0.0
├─ stubs@3.0.0
├─ symbol-observable@1.0.1
├─ tar@6.2.0
├─ teeny-request@7.2.0
├─ thenify-all@1.6.0
├─ thenify@3.3.1
├─ thriftrw@3.11.4
├─ tweetnacl@0.14.5
├─ type-detect@4.0.8
├─ unified-language-server@3.1.0
├─ unique-filename@1.1.1
├─ unique-slug@2.0.2
├─ vscode-css-languageserver-bin@1.4.0
├─ vscode-html-languageserver-bin@1.4.0
├─ vscode-json-languageserver-bin@1.0.1
├─ wide-align@1.1.5
├─ xorshift@1.2.0
├─ xtend@4.0.2
└─ yaml-language-server@1.14.0
Done in 76.07s.

Jupyter AI - JupyterLab の生成 AI 拡張機能

インストール
pipx

公式: Installation - Users — Jupyter AI documentation 翻訳

$ pipx inject jupyterlab jupyter-ai

or Python モジュールをビルドなしのバイナリオンリーでインストールしたい場合🤔

$ pipx inject jupyterlab jupyter-ai --pip-args='--only-binary=:all:'

  injected package jupyter-ai into venv jupyterlab
done! ✨ 🌟 ✨

モデル プロバイダーに応じて以下の Python モジュールをインストールする🤔

$ pipx inject jupyterlab ai21 anthropic boto3 cohere qianfan langchain-google-genai gpt4all huggingface_hub ipywidgets pillow langchain_nvidia_ai_endpoints openai

ipywidgets pillow langchain_nvidia_ai_endpoints openai
  injected package ai21 into venv jupyterlab
done! ✨ 🌟 ✨
  injected package anthropic into venv jupyterlab
done! ✨ 🌟 ✨
  injected package boto3 into venv jupyterlab
done! ✨ 🌟 ✨
  injected package cohere into venv jupyterlab
done! ✨ 🌟 ✨
  injected package qianfan into venv jupyterlab
done! ✨ 🌟 ✨
  injected package langchain-google-genai into venv jupyterlab
done! ✨ 🌟 ✨
  injected package gpt4all into venv jupyterlab
done! ✨ 🌟 ✨
  injected package huggingface-hub into venv jupyterlab
done! ✨ 🌟 ✨
  injected package ipywidgets into venv jupyterlab
done! ✨ 🌟 ✨
  injected package pillow into venv jupyterlab
done! ✨ 🌟 ✨
  injected package langchain-nvidia-ai-endpoints into venv jupyterlab
done! ✨ 🌟 ✨
  injected package openai into venv jupyterlab
done! ✨ 🌟 ✨

モデル プロバイダー
Provider Provider ID Environment variable(s) Python package(s)
AI21 AI21 Labs ai21 AI21_API_KEY ai21
Anthropic anthropic ANTHROPIC_API_KEY anthropic
Anthropic (chat) anthropic-chat ANTHROPIC_API_KEY anthropic
Bedrock Amazon Bedrock bedrock N/A boto3
Bedrock (chat) bedrock-chat N/A boto3
Cohere cohere COHERE_API_KEY cohere
ERNIE-Bot Chatbot developed by Baidu qianfan QIANFAN_AK, QIANFAN_SK qianfan
Gemini gemini GOOGLE_API_KEY Get API key | Google AI Studio langchain-google-genai
GPT4All gpt4all N/A gpt4all
Hugging Face Hub huggingface_hub HUGGINGFACEHUB_API_TOKEN huggingface_hub, ipywidgets, pillow
NVIDIA NVIDIA AI nvidia-chat NVIDIA_API_KEY langchain_nvidia_ai_endpoints
OpenAI openai OPENAI_API_KEY API keys - OpenAI API openai
OpenAI (chat) openai-chat OPENAI_API_KEY openai
SageMaker Amazon SageMaker sagemaker-endpoint N/A boto3

Model providers - Users — Jupyter AI documentation より🤔

· 2024/03/11 03:36 · ともやん

jupyterlab-drawio

https://www.drawio.com

jupyterlab-drawio を inject すると jupyterlab のバージョンが最新ではなくなる場合がある😝

$ pipx inject jupyterlab jupyterlab-drawio

  injected package jupyterlab-drawio into venv jupyterlab
done! ✨ 🌟 ✨

$ jupyter --version

Selected Jupyter core packages...
IPython          : 8.22.2
ipykernel        : 6.29.3
ipywidgets       : 8.1.2
jupyter_client   : 8.6.0
jupyter_core     : 5.7.1
jupyter_server   : 2.13.0
jupyterlab       : 3.6.7
nbclient         : 0.9.0
nbconvert        : 7.16.2
nbformat         : 5.9.2
notebook         : 6.5.4
qtconsole        : 5.5.1
traitlets        : 5.14.1

それを回避するには inject を実行するときに、jupyterlab に最新のバージョンを指定する😉

$ pipx inject jupyterlab jupyterlab-drawio 'jupyterlab>=4.1.4' --pip-args='--only-binary=:all:'

  injected package jupyterlab-drawio into venv jupyterlab
done! ✨ 🌟 ✨
  injected package jupyterlab into venv jupyterlab
done! ✨ 🌟 ✨

$ jupyter --version

Selected Jupyter core packages...
IPython          : 8.22.2
ipykernel        : 6.29.3
ipywidgets       : 8.1.2
jupyter_client   : 8.6.0
jupyter_core     : 5.7.1
jupyter_server   : 2.13.0
jupyterlab       : 4.1.4
nbclient         : 0.9.0
nbconvert        : 7.16.2
nbformat         : 5.9.2
notebook         : 6.5.4
qtconsole        : 5.5.1
traitlets        : 5.14.1

$ pipx inject jupyterlab jupyterlab-drawio

  injected package jupyterlab-drawio into venv jupyterlab
done! ✨ 🌟 ✨

jupyterlab-unfold ipyparallel

jupyterlab-contrib/jupyterlab-unfold: An IDE-like file browser for JupyterLab

$ pipx inject jupyterlab jupyterlab-unfold ipyparallel

  injected package jupyterlab-unfold into venv jupyterlab
done! ✨ 🌟 ✨
  injected package ipyparallel into venv jupyterlab
done! ✨ 🌟 ✨

jupyterlite-core jupyterlite-pyodide-kernel

JupyterLite
jupyterlite/jupyterlite: Wasm powered Jupyter running in the browser 💡
How-To Guides — JupyterLite 0.2.3 documentation
jupyterlite/demo: JupyterLite demo deployed to GitHub Pages 🚀

$ pipx inject jupyterlab jupyterlite-core jupyterlite-pyodide-kernel

  injected package jupyterlite-core into venv jupyterlab
done! ✨ 🌟 ✨
  injected package jupyterlite-pyodide-kernel into venv jupyterlab
done! ✨ 🌟 ✨

$ mkdir jupyterlite && cd jupyterlite && mkdir content
$ jupyter lite build --contents content --output-dir dist

static:jupyter-lite.json
.  pre_status:static:jupyter-lite.json
    tarball:         jupyterlite-app-0.2.3.tgz 9MB
    output:          /home/tomoyan/work/jupyterlite/dist
    lite dir:        /home/tomoyan/work/jupyterlite
    apps:            
    sourcemaps:      True
    unused packages: True
archive:archive
contents:contents
icons:icons
jupyterlite-pyodide-kernel-pyodide:pyodide
lite:jupyter-lite.json
mimetypes:jupyter-lite.json
serve:contents
settings:overrides
translation:translation
.  status:archive:archive
[LiteBuildApp] No archive (yet): jupyterlite-jupyterlite.tgz
.  status:contents:contents
    contents: 0 files
.  status:icons:icons
    favicon files: 0 files
.  status:jupyterlite-pyodide-kernel-pyodide:pyodide
     URL: None
 archive: []
   cache: 0 files
   local: 0 files
.  status:lite:jupyter-lite.json
[LiteBuildApp]     jupyter-lite.(json|ipynb): 0 files
.  status:mimetypes:jupyter-lite.json
    filetypes:         26 
.  status:serve:contents
    url: http://127.0.0.1:8000/
    server: tornado
    headers:
.  status:settings:overrides
    overrides.json: 0
.  status:translation:translation
    translation files: 0 files
static:output_dir
-- pre_init:static:output_dir
static:unpack
.  init:static:unpack
/home/tomoyan/.local/pipx/venvs/jupyterlab/lib64/python3.12/site-packages/jupyterlite_core/addons/base.py:294: UserWarning: install libarchive-c for better performance when working with archives: No module named 'libarchive'
  return has_optional_dependency(
federated_extensions:copy:ext:jupyterlab_pygments
federated_extensions:copy:ext:nbdime-jupyterlab
federated_extensions:copy:ext:jupyterlab-drawio
federated_extensions:copy:ext:ipyparallel-labextension
federated_extensions:copy:ext:@jupyterlab/git
federated_extensions:copy:ext:@jupyter-widgets/jupyterlab-manager
federated_extensions:copy:ext:@jupyter-lsp/jupyterlab-lsp
federated_extensions:copy:ext:@jupyter-ai/core
federated_extensions:copy:ext:@jupyterlite/pyodide-kernel-extension
.  pre_build:federated_extensions:copy:ext:jupyterlab_pygments
.  pre_build:federated_extensions:copy:ext:nbdime-jupyterlab
.  pre_build:federated_extensions:copy:ext:jupyterlab-drawio
.  pre_build:federated_extensions:copy:ext:ipyparallel-labextension
.  pre_build:federated_extensions:copy:ext:@jupyterlab/git
.  pre_build:federated_extensions:copy:ext:@jupyter-widgets/jupyterlab-manager
.  pre_build:federated_extensions:copy:ext:@jupyter-lsp/jupyterlab-lsp
.  pre_build:federated_extensions:copy:ext:@jupyter-ai/core
.  pre_build:federated_extensions:copy:ext:@jupyterlite/pyodide-kernel-extension
icons:copy
translation:copy
.  build:icons:copy
.  build:translation:copy
federated_extensions:patch
federated_extensions:settings
jupyterlite-pyodide-kernel-piplite:patch
mimetypes:patch
.  post_build:federated_extensions:patch
.  post_build:federated_extensions:settings
.  post_build:jupyterlite-pyodide-kernel-piplite:patch
.  post_build:mimetypes:patch

Or

$ jupyter lite serve --contents content --output-dir dist

static:jupyter-lite.json
.  pre_status:static:jupyter-lite.json
    tarball:         jupyterlite-app-0.2.3.tgz 9MB
    output:          /home/tomoyan/work/jupyterlite/dist
    lite dir:        /home/tomoyan/work/jupyterlite
    apps:            
    sourcemaps:      True
    unused packages: True
archive:archive
contents:contents
icons:icons
jupyterlite-pyodide-kernel-pyodide:pyodide
lite:jupyter-lite.json
mimetypes:jupyter-lite.json
serve:contents
settings:overrides
translation:translation
.  status:archive:archive
[LiteServeApp] No archive (yet): jupyterlite-jupyterlite.tgz
.  status:contents:contents
    contents: 0 files
.  status:icons:icons
    favicon files: 7 files
.  status:jupyterlite-pyodide-kernel-pyodide:pyodide
     URL: None
 archive: []
   cache: 0 files
   local: 0 files
.  status:lite:jupyter-lite.json
[LiteServeApp]     jupyter-lite.(json|ipynb): 0 files
.  status:mimetypes:jupyter-lite.json
    filetypes:         26 
.  status:serve:contents
    url: http://127.0.0.1:8000/
    server: tornado
    headers:
.  status:settings:overrides
    overrides.json: 0
.  status:translation:translation
    translation files: 3 files
static:output_dir
-- pre_init:static:output_dir
static:unpack
-- init:static:unpack
federated_extensions:copy:ext:jupyterlab_pygments
federated_extensions:copy:ext:nbdime-jupyterlab
federated_extensions:copy:ext:jupyterlab-drawio
federated_extensions:copy:ext:ipyparallel-labextension
federated_extensions:copy:ext:@jupyterlab/git
federated_extensions:copy:ext:@jupyter-widgets/jupyterlab-manager
federated_extensions:copy:ext:@jupyter-lsp/jupyterlab-lsp
federated_extensions:copy:ext:@jupyter-ai/core
federated_extensions:copy:ext:@jupyterlite/pyodide-kernel-extension
-- pre_build:federated_extensions:copy:ext:jupyterlab_pygments
-- pre_build:federated_extensions:copy:ext:nbdime-jupyterlab
-- pre_build:federated_extensions:copy:ext:jupyterlab-drawio
-- pre_build:federated_extensions:copy:ext:ipyparallel-labextension
-- pre_build:federated_extensions:copy:ext:@jupyterlab/git
-- pre_build:federated_extensions:copy:ext:@jupyter-widgets/jupyterlab-manager
-- pre_build:federated_extensions:copy:ext:@jupyter-lsp/jupyterlab-lsp
-- pre_build:federated_extensions:copy:ext:@jupyter-ai/core
-- pre_build:federated_extensions:copy:ext:@jupyterlite/pyodide-kernel-extension
icons:copy
translation:copy
.  build:icons:copy
-- build:translation:copy
federated_extensions:patch
federated_extensions:settings
jupyterlite-pyodide-kernel-piplite:patch
mimetypes:patch
.  post_build:federated_extensions:patch
-- post_build:federated_extensions:settings
.  post_build:jupyterlite-pyodide-kernel-piplite:patch
-- post_build:mimetypes:patch
serve:tornado
.  serve:serve:tornado
[LiteServeApp] WARNING | 

        Serving JupyterLite Debug Server from:
            /home/tomoyan/work/jupyterlite/dist
        on:
            http://127.0.0.1:8000/index.html

        *** Exit by: ***
            - Pressing Ctrl+C
            - Visiting /shutdown

nbclassic

jupyter/nbclassic: Jupyter Notebook as a Jupyter Server extension 翻訳

Migrating to Notebook 7 — Jupyter Notebook 7.1.1 documentation 翻訳

UPDATE: Read the migration plan to Notebook 7 to learn about the new features and the actions to take if you are using extensions - Please note that updating to Notebook 7 might break some of your extensions.
更新: Notebook 7 への移行計画を読んで、新機能と拡張機能を使用している場合に実行するアクションについて学習してください。Notebook 7 に更新すると、拡張機能の一部が機能しなくなる可能性があることに注意してください。

$ pipx inject jupyterlab nbclassic

  injected package nbclassic into venv jupyterlab
done! ✨ 🌟 ✨

nbclassic の確認と実行🤔

$ jupyter nbclassic --version

1.0.0

$ jupyter nbclassic --ip=0.0.0.0 --port=8888 --no-browser

http://localhost:8888/nbclassic を開く🤔

JupyterLab NbClassic 001

$ pipx upgrade jupyterlab

upgraded package jupyterlab4 from 4.1.3 to 4.1.4 (location: /home/tomoyan/.local/pipx/venvs/jupyterlab)

$ jupyter --version

Selected Jupyter core packages...
IPython          : 8.22.2
ipykernel        : 6.29.3
ipywidgets       : 8.1.2
jupyter_client   : 8.6.0
jupyter_core     : 5.7.1
jupyter_server   : 2.13.0
jupyterlab       : 4.1.4
nbclient         : 0.9.0
nbconvert        : 7.16.2
nbformat         : 5.9.2
notebook         : 6.5.4
qtconsole        : 5.5.1
traitlets        : 5.14.1

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

公式: Installing Kernels — Jupyter Documentation 4.1.1 alpha documentation 翻訳
   Installing the IPython kernel — IPython 8.23.0.dev documentation 翻訳

$ jupyter kernelspec list

Available kernels:
  python3          /home/tomoyan/.local/share/jupyter/kernels/python3

$ python -m ipykernel install --help

0.00s - Debugger warning: It seems that frozen modules are being used, which may
0.00s - make the debugger miss breakpoints. Please pass -Xfrozen_modules=off
0.00s - to python to disable frozen modules.
0.00s - Note: Debugging will proceed. Set PYDEVD_DISABLE_FILE_VALIDATION=1 to disable this validation.
usage: ipython-kernel-install [-h] [--user] [--name NAME] [--display-name DISPLAY_NAME] [--profile PROFILE]
                              [--prefix PREFIX] [--sys-prefix] [--env ENV VALUE] [--frozen_modules]

Install the IPython kernel spec.

options:
  -h, --help            show this help message and exit
  --user                Install for the current user instead of system-wide
  --name NAME           Specify a name for the kernelspec. This is needed to have multiple IPython kernels
                        at the same time.
  --display-name DISPLAY_NAME
                        Specify the display name for the kernelspec. This is helpful when you have multiple
                        IPython kernels.
  --profile PROFILE     Specify an IPython profile to load. This can be used to create custom versions of
                        the kernel.
  --prefix PREFIX       Specify an install prefix for the kernelspec. This is needed to install into a non-
                        default location, such as a conda/virtual-env.
  --sys-prefix          Install to Python's sys.prefix. Shorthand for --prefix='/usr'. For use in
                        conda/virtual-envs.
  --env ENV VALUE       Set environment variables for the kernel.
  --frozen_modules      Enable frozen modules for potentially faster startup. This has a downside of
                        preventing the debugger from navigating to certain built-in modules.

使用法: ipython-kernel-install [-h] [--user] [--name NAME] [--display-name DISPLAY_NAME] [--profile PROFILE]
                              [--prefix PREFIX] [--sys-prefix] [--env ENV VALUE] [--frozen_modules]

IPython カーネルスペックをインストールします。

オプション:
  -h, --help            このヘルプ メッセージを表示して終了します
  --user                システム全体ではなく、現在のユーザーに対してインストールします。
  --name NAME           カーネルスペックの名前を指定します。これは、複数の IPython カーネルを同時に使用するために必要です。
  --display-name DISPLAY_NAME
                        kernelspec の表示名を指定します。これは、複数の IPython カーネルがある場合に役立ちます。
  --profile PROFILE     ロードする IPython プロファイルを指定します。これを使用して、カーネルのカスタム バージョンを作成
                        できます。
  --prefix PREFIX       カーネルスペックのインストールプレフィックスを指定します。これは、conda/virtual-env などの
                        デフォルト以外の場所にインストールするために必要です。
  --sys-prefix          Python の sys.prefix にインストールします。--prefix='/usr' の短縮形。conda/virtual-envs で
                        使用します。
  --env ENV VALUE       カーネルの環境変数を設定します。
  --frozen_modules      起動を高速化する可能性があるために、凍結されたモジュールを有効にします。これには、デバッガーが特定の
                        組み込みモジュールに移動できなくなるという欠点があります。

※JupyterLab を USER_SITE とは別の仮想環境にインストールしている場合🤔
USER_SITE に ipykernel をインストールする🤔

$ pip install --user ipykernel

Collecting ipykernel
  Obtaining dependency information for ipykernel from https://files.pythonhosted.org/packages/4b/45/00ceed1948457b6e469e4d44e5ecadc5b0f24fd4f610dd9e7b89f1993128/ipykernel-6.29.3-py3-none-any.whl.metadata
  Downloading ipykernel-6.29.3-py3-none-any.whl.metadata (6.3 kB)
Collecting comm>=0.1.1 (from ipykernel)
  Obtaining dependency information for comm>=0.1.1 from https://files.pythonhosted.org/packages/e6/75/49e5bfe642f71f272236b5b2d2691cf915a7283cc0ceda56357b61daa538/comm-0.2.2-py3-none-any.whl.metadata
  Downloading comm-0.2.2-py3-none-any.whl.metadata (3.7 kB)
Collecting debugpy>=1.6.5 (from ipykernel)
  Obtaining dependency information for debugpy>=1.6.5 from https://files.pythonhosted.org/packages/3c/7a/e400d9f5ed6b4b5ec9f350b4d7974e986ca2d455221e567e648edfad898e/debugpy-1.8.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
  Downloading debugpy-1.8.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (1.1 kB)
Collecting ipython>=7.23.1 (from ipykernel)
  Obtaining dependency information for ipython>=7.23.1 from https://files.pythonhosted.org/packages/2f/4c/a960e920f0566d46084b7dd03888c1fec2a86e9f09dddae3bedfaab1d459/ipython-8.22.2-py3-none-any.whl.metadata
  Downloading ipython-8.22.2-py3-none-any.whl.metadata (4.8 kB)
Collecting jupyter-client>=6.1.12 (from ipykernel)
  Obtaining dependency information for jupyter-client>=6.1.12 from https://files.pythonhosted.org/packages/75/6d/d7b55b9c1ac802ab066b3e5015e90faab1fffbbd67a2af498ffc6cc81c97/jupyter_client-8.6.1-py3-none-any.whl.metadata
  Downloading jupyter_client-8.6.1-py3-none-any.whl.metadata (8.3 kB)
Collecting jupyter-core!=5.0.*,>=4.12 (from ipykernel)
  Obtaining dependency information for jupyter-core!=5.0.*,>=4.12 from https://files.pythonhosted.org/packages/c9/fb/108ecd1fe961941959ad0ee4e12ee7b8b1477247f30b1fdfd83ceaf017f0/jupyter_core-5.7.2-py3-none-any.whl.metadata
  Downloading jupyter_core-5.7.2-py3-none-any.whl.metadata (3.4 kB)
Requirement already satisfied: matplotlib-inline>=0.1 in ./.local/lib/python3.12/site-packages (from ipykernel) (0.1.6)
Collecting nest-asyncio (from ipykernel)
  Obtaining dependency information for nest-asyncio from https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl.metadata
  Downloading nest_asyncio-1.6.0-py3-none-any.whl.metadata (2.8 kB)
Requirement already satisfied: packaging in /usr/lib/python3.12/site-packages (from ipykernel) (23.1)
Collecting psutil (from ipykernel)
  Obtaining dependency information for psutil from https://files.pythonhosted.org/packages/c5/4f/0e22aaa246f96d6ac87fe5ebb9c5a693fbe8877f537a1022527c47ca43c5/psutil-5.9.8-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
  Downloading psutil-5.9.8-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (21 kB)
Collecting pyzmq>=24 (from ipykernel)
  Obtaining dependency information for pyzmq>=24 from https://files.pythonhosted.org/packages/3a/f1/e296d5a507eac519d1fe1382851b1a4575f690bc2b2d2c8eca2ed7e4bd1f/pyzmq-25.1.2-cp312-cp312-manylinux_2_28_x86_64.whl.metadata
  Downloading pyzmq-25.1.2-cp312-cp312-manylinux_2_28_x86_64.whl.metadata (4.9 kB)
Collecting tornado>=6.1 (from ipykernel)
  Obtaining dependency information for tornado>=6.1 from https://files.pythonhosted.org/packages/9f/12/11d0a757bb67278d3380d41955ae98527d5ad18330b2edbdc8de222b569b/tornado-6.4-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata
  Downloading tornado-6.4-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (2.5 kB)
Requirement already satisfied: traitlets>=5.4.0 in ./.local/lib/python3.12/site-packages (from ipykernel) (5.14.2)
Requirement already satisfied: decorator in /usr/lib/python3.12/site-packages (from ipython>=7.23.1->ipykernel) (5.1.1)
Requirement already satisfied: jedi>=0.16 in ./.local/lib/python3.12/site-packages (from ipython>=7.23.1->ipykernel) (0.19.1)
Requirement already satisfied: prompt-toolkit<3.1.0,>=3.0.41 in ./.local/lib/python3.12/site-packages (from ipython>=7.23.1->ipykernel) (3.0.43)
Requirement already satisfied: pygments>=2.4.0 in ./.local/lib/python3.12/site-packages (from ipython>=7.23.1->ipykernel) (2.17.2)
Requirement already satisfied: stack-data in ./.local/lib/python3.12/site-packages (from ipython>=7.23.1->ipykernel) (0.6.3)
Requirement already satisfied: pexpect>4.3 in /usr/lib/python3.12/site-packages (from ipython>=7.23.1->ipykernel) (4.8.0)
Requirement already satisfied: python-dateutil>=2.8.2 in /usr/lib/python3.12/site-packages (from jupyter-client>=6.1.12->ipykernel) (2.8.2)
Requirement already satisfied: platformdirs>=2.5 in ./.local/lib/python3.12/site-packages (from jupyter-core!=5.0.*,>=4.12->ipykernel) (4.2.0)
Requirement already satisfied: parso<0.9.0,>=0.8.3 in ./.local/lib/python3.12/site-packages (from jedi>=0.16->ipython>=7.23.1->ipykernel) (0.8.3)
Requirement already satisfied: ptyprocess>=0.5 in /usr/lib/python3.12/site-packages (from pexpect>4.3->ipython>=7.23.1->ipykernel) (0.7.0)
Requirement already satisfied: wcwidth in ./.local/lib/python3.12/site-packages (from prompt-toolkit<3.1.0,>=3.0.41->ipython>=7.23.1->ipykernel) (0.2.13)
Requirement already satisfied: six>=1.5 in /usr/lib/python3.12/site-packages (from python-dateutil>=2.8.2->jupyter-client>=6.1.12->ipykernel) (1.16.0)
Requirement already satisfied: executing>=1.2.0 in ./.local/lib/python3.12/site-packages (from stack-data->ipython>=7.23.1->ipykernel) (2.0.1)
Requirement already satisfied: asttokens>=2.1.0 in ./.local/lib/python3.12/site-packages (from stack-data->ipython>=7.23.1->ipykernel) (2.4.1)
Requirement already satisfied: pure-eval in ./.local/lib/python3.12/site-packages (from stack-data->ipython>=7.23.1->ipykernel) (0.2.2)
Downloading ipykernel-6.29.3-py3-none-any.whl (117 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 117.1/117.1 kB 658.6 kB/s eta 0:00:00
Downloading comm-0.2.2-py3-none-any.whl (7.2 kB)
Downloading debugpy-1.8.1-cp312-cp312-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.4 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.4/1.4 MB 2.2 MB/s eta 0:00:00
Downloading ipython-8.22.2-py3-none-any.whl (811 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 812.0/812.0 kB 1.7 MB/s eta 0:00:00
Downloading jupyter_client-8.6.1-py3-none-any.whl (105 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 105.9/105.9 kB 764.0 kB/s eta 0:00:00
Downloading jupyter_core-5.7.2-py3-none-any.whl (28 kB)
Downloading pyzmq-25.1.2-cp312-cp312-manylinux_2_28_x86_64.whl (1.1 MB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 2.0 MB/s eta 0:00:00
Downloading tornado-6.4-cp38-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (435 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 435.4/435.4 kB 2.3 MB/s eta 0:00:00
Downloading nest_asyncio-1.6.0-py3-none-any.whl (5.2 kB)
Downloading psutil-5.9.8-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (288 kB)
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 288.2/288.2 kB 1.4 MB/s eta 0:00:00
Installing collected packages: tornado, pyzmq, psutil, nest-asyncio, jupyter-core, debugpy, comm, jupyter-client, ipython, ipykernel
Successfully installed comm-0.2.2 debugpy-1.8.1 ipykernel-6.29.3 ipython-8.22.2 jupyter-client-8.6.1 jupyter-core-5.7.2 nest-asyncio-1.6.0 psutil-5.9.8 pyzmq-25.1.2 tornado-6.4

$ python -m ipykernel install --user --name user-site-env --display-name "Python (user-site-env)"

0.00s - Debugger warning: It seems that frozen modules are being used, which may
0.00s - make the debugger miss breakpoints. Please pass -Xfrozen_modules=off
0.00s - to python to disable frozen modules.
0.00s - Note: Debugging will proceed. Set PYDEVD_DISABLE_FILE_VALIDATION=1 to disable this validation.
Installed kernelspec user-site-env in /home/tomoyan/.local/share/jupyter/kernels/user-site-env

$ jupyter kernelspec list

Available kernels:
  python3          /home/tomoyan/.local/share/jupyter/kernels/python3
  user-site-env    /home/tomoyan/.local/share/jupyter/kernels/user-site-env

$ ll ~/.local/share/jupyter/kernels/user-site-env

合計 24
-rw-r--r-- 1 tomoyan tomoyan  230  3月 13 05:43 kernel.json
-rw-r--r-- 1 tomoyan tomoyan 1084  3月 13 05:43 logo-32x32.png
-rw-r--r-- 1 tomoyan tomoyan 2180  3月 13 05:43 logo-64x64.png
-rw-r--r-- 1 tomoyan tomoyan 9605  3月 13 05:43 logo-svg.svg

$ bat -n ~/.local/share/jupyter/kernels/user-site-env/kernel.json

   1 {
   2  "argv": [
   3   "/usr/bin/python",
   4   "-Xfrozen_modules=off",
   5   "-m",
   6   "ipykernel_launcher",
   7   "-f",
   8   "{connection_file}"
   9  ],
  10  "display_name": "Python (user-site-env)",
  11  "language": "python",
  12  "metadata": {
  13   "debugger": true
  14  }
  15 }

公式: venv --- 仮想環境の作成 — Python 3.12.2 ドキュメント

venv モジュールに --without-pip (pip なし) を指示すると、pip を含まない仮想環境が作成されるので、システムの pip が使用される🤔
--system-site-packages (システムサイトパッケージ) を指示すると、仮想環境の pyvenv.cfg の include-system-site-packages = true になり、site モジュールの ENABLE_USER_SITE: True になる🤔
既存の仮想環境の場合は pyvenv.cfg を直接修正すると同様の動作が可能になる😊
これにより、このカーネルでは USER_SITE にインストールされたモジュールも使用可能になる😊

$ mkdir ~/.jupyter/venvs/ && cd ~/.jupyter/venvs
$ python -m venv jupyter_common --without-pip --system-site-packages
$ . ./jupyter_common/bin/activate
(jupyter_common) $ which pip

/usr/bin/pip

(jupyter_common) $ bat -n ./jupyter_common/pyvenv.cfg

   1 home = /usr/bin
   2 include-system-site-packages = true
   3 version = 3.12.2
   4 executable = /usr/bin/python3.12
   5 command = /usr/bin/python -m venv --without-pip --system-site-packages /home/tomoyan/.jupyter/venvs/jupyt
     er_common

(jupyter_common) $ python -m site | bat -n -l py

   1 sys.path = [
   2     '/home/tomoyan/.jupyter/venvs',
   3     '/usr/lib64/python312.zip',
   4     '/usr/lib64/python3.12',
   5     '/usr/lib64/python3.12/lib-dynload',
   6     '/home/tomoyan/.jupyter/venvs/jupyter_common/lib64/python3.12/site-packages',
   7     '/home/tomoyan/.jupyter/venvs/jupyter_common/lib/python3.12/site-packages',
   8     '/home/tomoyan/.local/lib/python3.12/site-packages',
   9     '/usr/lib64/python3.12/site-packages',
  10     '/usr/lib/python3.12/site-packages',
  11 ]
  12 USER_BASE: '/home/tomoyan/.local' (exists)
  13 USER_SITE: '/home/tomoyan/.local/lib/python3.12/site-packages' (exists)
  14 ENABLE_USER_SITE: True

(jupyter_common) $ python -m ipykernel install --user --name jupyter_common --display-name "Python (jupyter_common)"

0.00s - Debugger warning: It seems that frozen modules are being used, which may
0.00s - make the debugger miss breakpoints. Please pass -Xfrozen_modules=off
0.00s - to python to disable frozen modules.
0.00s - Note: Debugging will proceed. Set PYDEVD_DISABLE_FILE_VALIDATION=1 to disable this validation.
Installed kernelspec jupyter_common in /home/tomoyan/.local/share/jupyter/kernels/jupyter_common

(jupyter_common) $ jupyter kernelspec list

Available kernels:
  jupyter_common    /home/tomoyan/.local/share/jupyter/kernels/jupyter_common
  python3           /home/tomoyan/.local/share/jupyter/kernels/python3
  user-site-env     /home/tomoyan/.local/share/jupyter/kernels/user-site-env

(jupyter_common) $ deactivate

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)
lock
    Lock labextension(s)
unlock
    Unlock 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

JupyterLab v4.1.4
/home/tomoyan/.local/share/pipx/venvs/jupyterlab/share/jupyter/labextensions
        jupyterlab_pygments v0.3.0 enabled OK (python, jupyterlab_pygments)
        nbdime-jupyterlab v3.0.1 enabled OK
        ipyparallel-labextension v8.7.0 enabled OK
        jupyterlab-drawio v0.9.0 enabled  X (python, jupyterlab-drawio)
        @jupyterlab/git v0.50.0 enabled OK (python, jupyterlab-git)
        @jupyter-widgets/jupyterlab-manager v5.0.10 enabled OK (python, jupyterlab_widgets)
        @jupyter-lsp/jupyterlab-lsp v5.1.0 enabled OK (python, jupyterlab-lsp)
        @jupyter-ai/core v2.11.0 enabled OK (python, jupyter_ai)


   The following extensions are outdated:
        jupyterlab-drawio
        
   Consider checking if an update is available for these packages.


Disabled extensions:
    @jupyterlab/completer-extension:base-service
    @jupyterlab/fileeditor-extension:language-server
    @jupyterlab/lsp-extension:settings
    @jupyterlab/notebook-extension:language-server

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 events execute fileid kernel kernelspec lab labextension
labhub migrate nbconvert nbextension notebook qtconsole run server serverextension troubleshoot trust

lab サブコマンド

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

$ jupyter lab --help

Or

$ 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 <cmd>, use:
    <cmd> --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]
--skip-dev-build
    Skip the initial install and JS build of the app in dev mode.
    Equivalent to: [--LabApp.skip_dev_build=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.
    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
    To enable real-time collaboration, you must install the extension `jupyter_collaboration`.
            You can install it using pip for example:

                python -m pip install jupyter_collaboration

            This flag is now deprecated and will be removed in JupyterLab v5.
    Equivalent to: [--LabApp.collaborative=True]
--custom-css
    Load custom CSS in template html files. Default is False
    Equivalent to: [--LabApp.custom_css=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]
--ip=<Unicode>
    The IP address the Jupyter server will listen on.
    Default: 'localhost'
    Equivalent to: [--ServerApp.ip]
--port=<Int>
    The port the server will listen on (env: JUPYTER_PORT).
    Default: 0
    Equivalent to: [--ServerApp.port]
--port-retries=<Int>
    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=<Unicode>
    SSL/TLS で使用する秘密鍵ファイルへの完全なパス。
    Default: ''
    Equivalent to: [--ServerApp.keyfile]
--certfile=<Unicode>
    SSL/TLS 証明書ファイルへの完全なパス。
    Default: ''
    Equivalent to: [--ServerApp.certfile]
--client-ca=<Unicode>
    SSL/TLS クライアント認証用の認証局証明書への完全なパス。
    Default: ''
    Equivalent to: [--ServerApp.client_ca]
--notebook-dir=<Unicode>
    ノートブックとカーネルが使うディレクトリ。
    Default: ''
    Equivalent to: [--ServerApp.root_dir]
--browser=<Unicode>
    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=<Unicode>
    非推奨: matplotlib を有効にするにはノートブックで %pylab または %matplotlib を実行して下さい。
    Default: 'disabled'
    Equivalent to: [--ServerApp.pylab]
--watch=<Bool>
    Whether to serve the app in watch mode
    Default: False
    Equivalent to: [--LabApp.watch]
--app-dir=<Unicode>
    The app directory to launch JupyterLab from.
    Default: None
    Equivalent to: [--LabApp.app_dir]

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

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

$ jupyter --paths

config:
    /home/tomoyan/.local/share/pipx/venvs/jupyterlab/etc/jupyter
    /home/tomoyan/.jupyter
    /usr/local/etc/jupyter
    /etc/jupyter
data:
    /home/tomoyan/.local/share/pipx/venvs/jupyterlab/share/jupyter
    /home/tomoyan/.local/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

$ jupyter lab paths

Application directory:   /home/tomoyan/.local/share/pipx/venvs/jupyterlab/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

以下の実行には node.js が必要である🤔
anyenv - rbenv スタイルのオールインワン環境マネージャー および
nodenv - anyenv - rbenv スタイルのオールインワン環境マネージャー

jlpm は yarn のロックされたバージョンである🤔
Contribute — JupyterLab 4.1.2 documentation 翻訳 より

The jlpm command is a JupyterLab-provided, locked version of the yarn package manager. If you have yarn installed already, you can use the yarn command when developing, and it will use the local version of yarn in jupyterlab/yarn.js when run in the repository or a built application directory.

jlpm コマンドは、JupyterLab が提供する、yarn パッケージ マネージャーのロックされたバージョンです。すでに yarn がインストールされている場合は、開発時に yarn コマンドを使用できます。また、リポジトリまたはビルドされたアプリケーションディレクトリで実行するときに、jupyterlab/yarn.js 内のローカルバージョンの yarn が使用されます。

$ jlpm -v

3.5.0

$ cd ~
$ jlpm init

{
  name: 'tomoyan',
  packageManager: 'yarn@3.5.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.
 YN0032: │ node-addon-api@npm:7.1.0: Implicit dependencies on node-gyp are discouraged
 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: │ source-map-url@npm:0.4.1 is deprecated: See https://github.com/lydell/source-map-url#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: │ abab@npm:2.0.6 is deprecated: Use your platform's native atob() and btoa() methods instead
 YN0061: │ domexception@npm:2.0.1 is deprecated: Use your platform's native DOMException instead
 YN0061: │ w3c-hr-time@npm:1.0.2 is deprecated: Use your platform's native performance.now() and performance.timeOrigin.
 YN0000: └ Completed in 15s 123ms
 YN0000: ┌ Fetch step
 YN0013: │ yargs@npm:17.7.2 can't be found in the cache and will be fetched from the remote registry
 YN0013: │ yocto-queue@npm:1.0.0 can't be found in the cache and will be fetched from the remote registry
 YN0013: │ zod@npm:3.22.4 can't be found in the cache and will be fetched from the remote registry
 YN0013: │ typescript@npm:3.0.3 can't be found in the cache and will be fetched from the remote registry
 YN0013: │ typescript@npm:2.9.2 can't be found in the cache and will be fetched from the remote registry
 YN0000: └ Completed in 53s 377ms
 YN0000: ┌ Link step
 YN0000: │ ESM support for PnP uses the experimental loader API and is therefore experimental
 YN0007: │ sqlite3@npm:5.1.7 [52396] must be built because it never has been before or the last one failed
 YN0000: └ Completed in 3s 684ms
 YN0000: Done with warnings in 1m 13s

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

$ jupyter-lab --ip=0.0.0.0 --port=8888 --no-browser

[W 2024-03-11 04:43:54.982 ServerApp] ServerApp.password config is deprecated in 2.0. Use PasswordIdentityProvider.hashed_password.

~/.jupyter/jupyter_server_config.json に ServerApp.password が残っていると警告され続ける😔

$ cat ~/.jupyter/jupyter_server_config.json

または

$ bat ~/.jupyter/jupyter_server_config.json

───────┬─────────────────────────────────────────────────────────────────────────────────────────────────────
       File: /home/tomoyan/.jupyter/jupyter_server_config.json
───────┼─────────────────────────────────────────────────────────────────────────────────────────────────────
   1    {
   2      "ServerApp": {
   3        "password": "argon2:$argon2id$v=19$m=10240,t=10,p=8$f3WKEmLz3UiLf9TvzzCUng$D5bDNZN5vGaMrCTW8T2i+
        FP+rnTYoklZpp7vuJe3uuU"
   4      },
   5      "IdentityProvider": {
   6        "hashed_password": "argon2:$argon2id$v=19$m=10240,t=10,p=8$f3WKEmLz3UiLf9TvzzCUng$D5bDNZN5vGaMrC
        TW8T2i+FP+rnTYoklZpp7vuJe3uuU"
   7      }
   8    }
───────┴─────────────────────────────────────────────────────────────────────────────────────────────────────

エディタで編集して ServerApp.password 削除するか、ファイルを削除して再設定する😊

$ nano ~/.jupyter/jupyter_server_config.json

───────┬─────────────────────────────────────────────────────────────────────────────────────────────────────
       File: /home/tomoyan/.jupyter/jupyter_server_config.json
───────┼─────────────────────────────────────────────────────────────────────────────────────────────────────
   1    {
   2      "IdentityProvider": {
   3        "hashed_password": "argon2:$argon2id$v=19$m=10240,t=10,p=8$f3WKEmLz3UiLf9TvzzCUng$D5bDNZN5vGaMrC
        TW8T2i+FP+rnTYoklZpp7vuJe3uuU"
   4      }
   5    }
───────┴─────────────────────────────────────────────────────────────────────────────────────────────────────

または

$ rm ~/.jupyter/jupyter_server_config.json
$ jupyter server password
$ bat ~/.jupyter/jupyter_server_config.json

───────┬─────────────────────────────────────────────────────────────────────────────────────────────────────
       File: /home/tomoyan/.jupyter/jupyter_server_config.json
───────┼─────────────────────────────────────────────────────────────────────────────────────────────────────
   1    {
   2      "IdentityProvider": {
   3        "hashed_password": "argon2:$argon2id$v=19$m=10240,t=10,p=8$f3WKEmLz3UiLf9TvzzCUng$D5bDNZN5vGaMrC
        TW8T2i+FP+rnTYoklZpp7vuJe3uuU"
   4      }
   5    }
───────┴─────────────────────────────────────────────────────────────────────────────────────────────────────

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

(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)

$ jlpm4 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

Usage Error: No project found in /home/tomoyan

$ yarn add [--json] [-E,--exact] [-T,--tilde] [-C,--caret] [-D,--dev] [-P,--peer] [-O,--optional] [--prefer-dev] [-i,--interactive] [--cached] [--mode #0] ...

ホームディレクトリで jlpm init を実行してから再実行する🤔

以下の実行には node.js が必要である🤔
anyenv - rbenv スタイルのオールインワン環境マネージャー および
nodenv - anyenv - rbenv スタイルのオールインワン環境マネージャー

jlpm は yarn のロックされたバージョンである🤔
Contribute — JupyterLab 4.1.2 documentation 翻訳 より

The jlpm command is a JupyterLab-provided, locked version of the yarn package manager. If you have yarn installed already, you can use the yarn command when developing, and it will use the local version of yarn in jupyterlab/yarn.js when run in the repository or a built application directory.

jlpm コマンドは、JupyterLab が提供する、yarn パッケージ マネージャーのロックされたバージョンです。すでに yarn がインストールされている場合は、開発時に yarn コマンドを使用できます。また、リポジトリまたはビルドされたアプリケーションディレクトリで実行するときに、jupyterlab/yarn.js 内のローカルバージョンの yarn が使用されます。

$ jlpm -v

3.5.0

$ cd ~
$ jlpm init

{
  name: 'tomoyan',
  packageManager: 'yarn@3.5.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.
 YN0032: │ node-addon-api@npm:7.1.0: Implicit dependencies on node-gyp are discouraged
 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: │ source-map-url@npm:0.4.1 is deprecated: See https://github.com/lydell/source-map-url#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: │ abab@npm:2.0.6 is deprecated: Use your platform's native atob() and btoa() methods instead
 YN0061: │ domexception@npm:2.0.1 is deprecated: Use your platform's native DOMException instead
 YN0061: │ w3c-hr-time@npm:1.0.2 is deprecated: Use your platform's native performance.now() and performance.timeOrigin.
 YN0000: └ Completed in 15s 123ms
 YN0000: ┌ Fetch step
 YN0013: │ yargs@npm:17.7.2 can't be found in the cache and will be fetched from the remote registry
 YN0013: │ yocto-queue@npm:1.0.0 can't be found in the cache and will be fetched from the remote registry
 YN0013: │ zod@npm:3.22.4 can't be found in the cache and will be fetched from the remote registry
 YN0013: │ typescript@npm:3.0.3 can't be found in the cache and will be fetched from the remote registry
 YN0013: │ typescript@npm:2.9.2 can't be found in the cache and will be fetched from the remote registry
 YN0000: └ Completed in 53s 377ms
 YN0000: ┌ Link step
 YN0000: │ ESM support for PnP uses the experimental loader API and is therefore experimental
 YN0007: │ sqlite3@npm:5.1.7 [52396] must be built because it never has been before or the last one failed
 YN0000: └ Completed in 3s 684ms
 YN0000: Done with warnings in 1m 13s

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) (翻訳)
4 Little Known Magic Commands That Boost Your Productivity | by Lukas Frei | Towards Data Science 翻訳

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/26 08:40
  • by ともやん