目次
jupyterlab_nvdashboard
インストール
(pyJupyterLab) $ pip install jupyterlab-nvdashboard
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple/ Collecting jupyterlab-nvdashboard Downloading https://www.piwheels.org/simple/jupyterlab-nvdashboard/jupyterlab_nvdashboard-0.7.0-py3-none-any.whl (37 kB) Collecting bokeh>2.1 Downloading https://www.piwheels.org/simple/bokeh/bokeh-2.4.3-py3-none-any.whl (18.5 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 18.5/18.5 MB 130.2 kB/s eta 0:00:00 Requirement already satisfied: jupyterlab==3.*,>=3.0.0rc13 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab-nvdashboard) (3.4.5) Requirement already satisfied: psutil in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab-nvdashboard) (5.9.0) Collecting pynvml Downloading https://www.piwheels.org/simple/pynvml/pynvml-11.4.1-py3-none-any.whl (46 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 47.0/47.0 kB 90.2 kB/s eta 0:00:00 Collecting jupyter-server-proxy Downloading https://www.piwheels.org/simple/jupyter-server-proxy/jupyter_server_proxy-3.2.1-py3-none-any.whl (35 kB) Requirement already satisfied: jupyter-core in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (4.11.1) Requirement already satisfied: jupyterlab-server~=2.10 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (2.12.0) Requirement already satisfied: tornado>=6.1.0 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (6.1) Requirement already satisfied: nbclassic in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (0.3.7) Requirement already satisfied: notebook<7 in .pyjupyterlablibpython3.9site-packages (from jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (6.4.10) Requirement already satisfied: packaging in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (21.3) Requirement already satisfied: jinja2>=2.1 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (3.1.1) Requirement already satisfied: ipython in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (8.2.0) Requirement already satisfied: jupyter-server~=1.16 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (1.18.1) Collecting numpy>=1.11.3 Downloading https://www.piwheels.org/simple/numpy/numpy-1.23.2-cp39-cp39-linux_armv6l.whl (12.3 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 12.3/12.3 MB 191.7 kB/s eta 0:00:00 Collecting PyYAML>=3.10 Downloading https://www.piwheels.org/simple/pyyaml/PyYAML-6.0-cp39-cp39-linux_armv6l.whl (45 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 45.3/45.3 kB 31.6 kB/s eta 0:00:00 Collecting typing-extensions>=3.10.0 Downloading https://www.piwheels.org/simple/typing-extensions/typing_extensions-4.3.0-py3-none-any.whl (25 kB) Collecting pillow>=7.1.0 Downloading https://www.piwheels.org/simple/pillow/Pillow-9.2.0-cp39-cp39-linux_armv6l.whl (1.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 188.7 kB/s eta 0:00:00 Collecting simpervisor>=0.4 Downloading https://www.piwheels.org/simple/simpervisor/simpervisor-0.4-py3-none-any.whl (5.7 kB) Collecting aiohttp Downloading https://www.piwheels.org/simple/aiohttp/aiohttp-3.8.1-cp39-cp39-linux_armv6l.whl (1.1 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.1/1.1 MB 139.5 kB/s eta 0:00:00 Requirement already satisfied: MarkupSafe>=2.0 in ./pyJupyterLab/lib/python3.9/site-packages (from jinja2>=2.1->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (2.1.1) Requirement already satisfied: anyio<4,>=3.1.0 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server~=1.16->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (3.5.0) Requirement already satisfied: pyzmq>=17 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server~=1.16->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (22.3.0) Requirement already satisfied: nbconvert>=6.4.4 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server~=1.16->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (6.4.5) Requirement already satisfied: prometheus-client in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server~=1.16->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (0.14.0) Requirement already satisfied: Send2Trash in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server~=1.16->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (1.8.0) Requirement already satisfied: argon2-cffi in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server~=1.16->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (21.3.0) Requirement already satisfied: nbformat>=5.2.0 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server~=1.16->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (5.3.0) Requirement already satisfied: websocket-client in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server~=1.16->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (1.3.2) Requirement already satisfied: traitlets>=5.1 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server~=1.16->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (5.1.1) Requirement already satisfied: jupyter-client>=6.1.12 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server~=1.16->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (7.2.1 ) Requirement already satisfied: terminado>=0.8.3 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-server~=1.16->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (0.13.3) Requirement already satisfied: requests in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab-server~=2.10->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (2.27.1) Requirement already satisfied: entrypoints>=0.2.2 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab-server~=2.10->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (0.4) Requirement already satisfied: jsonschema>=3.0.1 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab-server~=2.10->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (4.4.0) Requirement already satisfied: json5 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab-server~=2.10->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (0.9.6) Requirement already satisfied: babel in ./pyJupyterLab/lib/python3.9/site-packages (from jupyterlab-server~=2.10->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (2.9.1) Requirement already satisfied: nest-asyncio>=1.5 in ./pyJupyterLab/lib/python3.9/site-packages (from notebook<7->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (1.5.5) Requirement already satisfied: ipykernel in ./pyJupyterLab/lib/python3.9/site-packages (from notebook<7->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (6.12.1) Requirement already satisfied: ipython-genutils in ./pyJupyterLab/lib/python3.9/site-packages (from notebook<7->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (0.2.0) Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in ./pyJupyterLab/lib/python3.9/site-packages (from packaging->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (3.0.7) Collecting async-timeout<5.0,>=4.0.0a3 Downloading https://www.piwheels.org/simple/async-timeout/async_timeout-4.0.2-py3-none-any.whl (5.8 kB) Requirement already satisfied: charset-normalizer<3.0,>=2.0 in ./pyJupyterLab/lib/python3.9/site-packages (from aiohttp->jupyter-server-proxy->jupyterlab-nvdashboard) (2.0.12) Collecting aiosignal>=1.1.2 Downloading https://www.piwheels.org/simple/aiosignal/aiosignal-1.2.0-py3-none-any.whl (8.2 kB) Collecting yarl<2.0,>=1.0 Downloading https://www.piwheels.org/simple/yarl/yarl-1.8.1-cp39-cp39-linux_armv6l.whl (205 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 205.5/205.5 kB 85.9 kB/s eta 0:00:00 Collecting frozenlist>=1.1.1 Downloading https://www.piwheels.org/simple/frozenlist/frozenlist-1.3.1-cp39-cp39-linux_armv6l.whl (136 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 136.6/136.6 kB 73.8 kB/s eta 0:00:00 Requirement already satisfied: attrs>=17.3.0 in ./pyJupyterLab/lib/python3.9/site-packages (from aiohttp->jupyter-server-proxy->jupyterlab-nvdashboard) (21.4.0) Collecting multidict<7.0,>=4.5 Downloading https://www.piwheels.org/simple/multidict/multidict-6.0.2-cp39-cp39-linux_armv6l.whl (109 kB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 109.1/109.1 kB 61.7 kB/s eta 0:00:00 Requirement already satisfied: pexpect>4.3 in ./pyJupyterLab/lib/python3.9/site-packages (from ipython->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (4.8.0) Requirement already satisfied: matplotlib-inline in ./pyJupyterLab/lib/python3.9/site-packages (from ipython->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (0.1.3) Requirement already satisfied: backcall in ./pyJupyterLab/lib/python3.9/site-packages (from ipython->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (0.2.0) 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.*,>=3.0.0rc13->jupyterlab-nvdashboar d) (3.0.29) Requirement already satisfied: pygments>=2.4.0 in ./pyJupyterLab/lib/python3.9/site-packages (from ipython->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (2.11.2) Requirement already satisfied: pickleshare in ./pyJupyterLab/lib/python3.9/site-packages (from ipython->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (0.7.5) Requirement already satisfied: setuptools>=18.5 in ./pyJupyterLab/lib/python3.9/site-packages (from ipython->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (62.0.0) Requirement already satisfied: decorator in ./pyJupyterLab/lib/python3.9/site-packages (from ipython->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (5.1.1) Requirement already satisfied: jedi>=0.16 in ./pyJupyterLab/lib/python3.9/site-packages (from ipython->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (0.18.1) Requirement already satisfied: stack-data in ./pyJupyterLab/lib/python3.9/site-packages (from ipython->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (0.2.0) Requirement already satisfied: notebook-shim>=0.1.0 in ./pyJupyterLab/lib/python3.9/site-packages (from nbclassic->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (0.1.0) Requirement already satisfied: sniffio>=1.1 in ./pyJupyterLab/lib/python3.9/site-packages (from anyio<4,>=3.1.0->jupyter-server~=1.16->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (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.16->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (3 .3) Requirement already satisfied: parso<0.9.0,>=0.8.0 in ./pyJupyterLab/lib/python3.9/site-packages (from jedi>=0.16->ipython->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (0.8.3) 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~=2.10->jupyterlab==3. *,>=3.0.0rc13->jupyterlab-nvdashboard) (0.18.1) Requirement already satisfied: python-dateutil>=2.8.2 in ./pyJupyterLab/lib/python3.9/site-packages (from jupyter-client>=6.1.12->jupyter-server~=1.16->jupyterlab==3.*,>=3.0.0rc13->jupyte rlab-nvdashboard) (2.8.2) Requirement already satisfied: jupyterlab-pygments in ./pyJupyterLab/lib/python3.9/site-packages (from nbconvert>=6.4.4->jupyter-server~=1.16->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvda shboard) (0.1.2) Requirement already satisfied: beautifulsoup4 in ./pyJupyterLab/lib/python3.9/site-packages (from nbconvert>=6.4.4->jupyter-server~=1.16->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboa rd) (4.10.0) Requirement already satisfied: nbclient<0.6.0,>=0.5.0 in ./pyJupyterLab/lib/python3.9/site-packages (from nbconvert>=6.4.4->jupyter-server~=1.16->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-n vdashboard) (0.5.13) Requirement already satisfied: bleach in ./pyJupyterLab/lib/python3.9/site-packages (from nbconvert>=6.4.4->jupyter-server~=1.16->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (4.1 .0) Requirement already satisfied: pandocfilters>=1.4.1 in ./pyJupyterLab/lib/python3.9/site-packages (from nbconvert>=6.4.4->jupyter-server~=1.16->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvd ashboard) (1.5.0) Requirement already satisfied: testpath in ./pyJupyterLab/lib/python3.9/site-packages (from nbconvert>=6.4.4->jupyter-server~=1.16->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (0 .6.0) Requirement already satisfied: defusedxml in ./pyJupyterLab/lib/python3.9/site-packages (from nbconvert>=6.4.4->jupyter-server~=1.16->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (0.7.1) Requirement already satisfied: mistune<2,>=0.8.1 in ./pyJupyterLab/lib/python3.9/site-packages (from nbconvert>=6.4.4->jupyter-server~=1.16->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdash board) (0.8.4) Requirement already satisfied: fastjsonschema in ./pyJupyterLab/lib/python3.9/site-packages (from nbformat>=5.2.0->jupyter-server~=1.16->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboar d) (2.15.3) Requirement already satisfied: ptyprocess>=0.5 in ./pyJupyterLab/lib/python3.9/site-packages (from pexpect>4.3->ipython->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (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==3.*,>=3.0.0rc13->jupyterlab-n vdashboard) (0.2.5) Requirement already satisfied: argon2-cffi-bindings in ./pyJupyterLab/lib/python3.9/site-packages (from argon2-cffi->jupyter-server~=1.16->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashbo ard) (21.2.0) Requirement already satisfied: pytz>=2015.7 in ./pyJupyterLab/lib/python3.9/site-packages (from babel->jupyterlab-server~=2.10->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (2022. 1) Requirement already satisfied: debugpy>=1.0 in ./pyJupyterLab/lib/python3.9/site-packages (from ipykernel->notebook<7->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (1.6.0) Requirement already satisfied: urllib3<1.27,>=1.21.1 in ./pyJupyterLab/lib/python3.9/site-packages (from requests->jupyterlab-server~=2.10->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashb oard) (1.26.9) Requirement already satisfied: certifi>=2017.4.17 in ./pyJupyterLab/lib/python3.9/site-packages (from requests->jupyterlab-server~=2.10->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboar d) (2021.10.8) Requirement already satisfied: pure-eval in ./pyJupyterLab/lib/python3.9/site-packages (from stack-data->ipython->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (0.2.2) Requirement already satisfied: asttokens in ./pyJupyterLab/lib/python3.9/site-packages (from stack-data->ipython->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (2.0.5) Requirement already satisfied: executing in ./pyJupyterLab/lib/python3.9/site-packages (from stack-data->ipython->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvdashboard) (0.8.3) Requirement already satisfied: six>=1.5 in ./pyJupyterLab/lib/python3.9/site-packages (from python-dateutil>=2.8.2->jupyter-client>=6.1.12->jupyter-server~=1.16->jupyterlab==3.*,>=3.0.0rc 13->jupyterlab-nvdashboard) (1.16.0) Requirement already satisfied: cffi>=1.0.1 in ./pyJupyterLab/lib/python3.9/site-packages (from argon2-cffi-bindings->argon2-cffi->jupyter-server~=1.16->jupyterlab==3.*,>=3.0.0rc13->jupyte rlab-nvdashboard) (1.15.0) Requirement already satisfied: soupsieve>1.2 in ./pyJupyterLab/lib/python3.9/site-packages (from beautifulsoup4->nbconvert>=6.4.4->jupyter-server~=1.16->jupyterlab==3.*,>=3.0.0rc13->jupyt erlab-nvdashboard) (2.3.2) Requirement already satisfied: webencodings in ./pyJupyterLab/lib/python3.9/site-packages (from bleach->nbconvert>=6.4.4->jupyter-server~=1.16->jupyterlab==3.*,>=3.0.0rc13->jupyterlab-nvd ashboard) (0.5.1) Requirement already satisfied: pycparser in ./pyJupyterLab/lib/python3.9/site-packages (from cffi>=1.0.1->argon2-cffi-bindings->argon2-cffi->jupyter-server~=1.16->jupyterlab==3.*,>=3.0.0r c13->jupyterlab-nvdashboard) (2.21) Installing collected packages: simpervisor, typing-extensions, PyYAML, pynvml, pillow, numpy, multidict, frozenlist, async-timeout, yarl, bokeh, aiosignal, aiohttp, jupyter-server-proxy, jupyterlab-nvdashboard Successfully installed PyYAML-6.0 aiohttp-3.8.1 aiosignal-1.2.0 async-timeout-4.0.2 bokeh-2.4.3 frozenlist-1.3.1 jupyter-server-proxy-3.2.1 jupyterlab-nvdashboard-0.7.0 multidict-6.0.2 nu mpy-1.23.2 pillow-9.2.0 pynvml-11.4.1 simpervisor-0.4 typing-extensions-4.3.0 yarl-1.8.1
トラブルシューティング
サーバー拡張機能が有効になっていることを確認する🤔
(pyJupyterLab) $ jupyter server extension list
Config dir: /home/dietpi/.jupyter Config dir: /home/dietpi/pyJupyterLab/etc/jupyter jupyter_server_proxy enabled - Validating jupyter_server_proxy... jupyter_server_proxy OK jupyterlab enabled - Validating jupyterlab... jupyterlab 3.4.5 OK jupyterlab_nvdashboard enabled - Validating jupyterlab_nvdashboard... jupyterlab_nvdashboard OK nbclassic enabled - Validating nbclassic... nbclassic OK notebook_shim enabled - Validating notebook_shim... notebook_shim OK voila.server_extension enabled - Validating voila.server_extension... voila.server_extension OK Config dir: /usr/local/etc/jupyter
サーバー拡張機能が有効な場合で、フロントエンド拡張機能が表示されない場合は、フロントエンド拡張機能が有効になっていることを確認する🤔
(pyJupyterLab) $ jupyter labextension list
JupyterLab v3.4.5 /home/dietpi/pyJupyterLab/share/jupyter/labextensions jupyterlab-nvdashboard v0.7.0 enabled OK (python, jupyterlab_nvdashboard) @voila-dashboards/jupyterlab-preview v2.1.6 enabled OK (python, voila) @jupyterlab/server-proxy v3.2.1 enabled OK
JupyterLab の起動
(pyJupyterLab) $ jupyter lab --ip=0.0.0.0 --no-browser
[I 2022-09-06 13:18:59.307 ServerApp] jupyter_server_proxy | extension was successfully linked. [I 2022-09-06 13:19:00.277 ServerApp] jupyterlab | extension was successfully linked. [I 2022-09-06 13:19:00.285 ServerApp] jupyterlab_nvdashboard | extension was successfully linked. [I 2022-09-06 13:19:00.875 ServerApp] nbclassic | extension was successfully linked. [I 2022-09-06 13:19:12.261 ServerApp] notebook_shim | extension was successfully linked. [I 2022-09-06 13:19:12.278 ServerApp] voila.server_extension | extension was successfully linked. [I 2022-09-06 13:19:13.519 ServerApp] notebook_shim | extension was successfully loaded. [I 2022-09-06 13:19:54.079 ServerApp] jupyter_server_proxy | extension was successfully loaded. [I 2022-09-06 13:19:54.192 LabApp] JupyterLab extension loaded from /home/dietpi/pyJupyterLab/lib/python3.9/site-packages/jupyterlab [I 2022-09-06 13:19:54.196 LabApp] JupyterLab application directory is /home/dietpi/pyJupyterLab/share/jupyter/lab [I 2022-09-06 13:19:54.471 ServerApp] jupyterlab | extension was successfully loaded. [W 2022-09-06 13:19:54.507 ServerApp] jupyterlab_nvdashboard | extension failed loading with message: 'NoneType' object is not callable [I 2022-09-06 13:19:54.836 ServerApp] nbclassic | extension was successfully loaded. [I 2022-09-06 13:19:55.034 ServerApp] voila.server_extension | extension was successfully loaded. [I 2022-09-06 13:19:55.054 ServerApp] Serving notebooks from local directory: /home/dietpi [I 2022-09-06 13:19:55.063 ServerApp] Jupyter Server 1.18.1 is running at: [I 2022-09-06 13:19:55.069 ServerApp] http://dietpi-001:8888/lab [I 2022-09-06 13:19:55.076 ServerApp] or http://127.0.0.1:8888/lab [I 2022-09-06 13:19:55.090 ServerApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation). [W 2022-09-06 13:20:18.183 LabApp] Could not determine jupyterlab build status without nodejs Traceback (most recent call last): File "/home/dietpi/pyJupyterLab/lib/python3.9/site-packages/numpy/core/__init__.py", line 23, infrom . import multiarray File "/home/dietpi/pyJupyterLab/lib/python3.9/site-packages/numpy/core/multiarray.py", line 10, in from . import overrides File "/home/dietpi/pyJupyterLab/lib/python3.9/site-packages/numpy/core/overrides.py", line 6, in from numpy.core._multiarray_umath import ( ImportError: libcblas.so.3: cannot open shared object file: No such file or directory During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/dietpi/pyJupyterLab/lib/python3.9/site-packages/jupyterlab_nvdashboard/server.py", line 3, in from bokeh.server.server import Server File "/home/dietpi/pyJupyterLab/lib/python3.9/site-packages/bokeh/server/server.py", line 56, in from ..core import properties as p File "/home/dietpi/pyJupyterLab/lib/python3.9/site-packages/bokeh/core/properties.py", line 268, in from .property.alias import Alias; Alias File "/home/dietpi/pyJupyterLab/lib/python3.9/site-packages/bokeh/core/property/alias.py", line 28, in from .bases import Property File "/home/dietpi/pyJupyterLab/lib/python3.9/site-packages/bokeh/core/property/bases.py", line 46, in import numpy as np File "/home/dietpi/pyJupyterLab/lib/python3.9/site-packages/numpy/__init__.py", line 140, in from . import core File "/home/dietpi/pyJupyterLab/lib/python3.9/site-packages/numpy/core/__init__.py", line 49, in raise ImportError(msg) ImportError: IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE! Importing the numpy C-extensions failed. This error can happen for many reasons, often due to issues with your setup or how NumPy was installed. We have compiled some common reasons and troubleshooting tips at: https://numpy.org/devdocs/user/troubleshooting-importerror.html Please note and check the following: * The Python version is: Python3.9 from "/home/dietpi/pyJupyterLab/bin/python" * The NumPy version is: "1.23.2" and make sure that they are the versions you expect. Please carefully study the documentation linked above for further help. Original error was: libcblas.so.3: cannot open shared object file: No such file or directory Traceback (most recent call last): File "/home/dietpi/pyJupyterLab/lib/python3.9/site-packages/numpy/core/__init__.py", line 23, in from . import multiarray File "/home/dietpi/pyJupyterLab/lib/python3.9/site-packages/numpy/core/multiarray.py", line 10, in from . import overrides File "/home/dietpi/pyJupyterLab/lib/python3.9/site-packages/numpy/core/overrides.py", line 6, in from numpy.core._multiarray_umath import ( ImportError: libcblas.so.3: cannot open shared object file: No such file or directory During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/dietpi/pyJupyterLab/lib/python3.9/site-packages/jupyterlab_nvdashboard/server.py", line 3, in from bokeh.server.server import Server File "/home/dietpi/pyJupyterLab/lib/python3.9/site-packages/bokeh/server/server.py", line 56, in from ..core import properties as p File "/home/dietpi/pyJupyterLab/lib/python3.9/site-packages/bokeh/core/properties.py", line 268, in from .property.alias import Alias; Alias File "/home/dietpi/pyJupyterLab/lib/python3.9/site-packages/bokeh/core/property/alias.py", line 28, in from .bases import Property File "/home/dietpi/pyJupyterLab/lib/python3.9/site-packages/bokeh/core/property/bases.py", line 46, in import numpy as np File "/home/dietpi/pyJupyterLab/lib/python3.9/site-packages/numpy/__init__.py", line 140, in from . import core File "/home/dietpi/pyJupyterLab/lib/python3.9/site-packages/numpy/core/__init__.py", line 49, in raise ImportError(msg) ImportError: IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE! Importing the numpy C-extensions failed. This error can happen for many reasons, often due to issues with your setup or how NumPy was installed. We have compiled some common reasons and troubleshooting tips at: https://numpy.org/devdocs/user/troubleshooting-importerror.html Please note and check the following: * The Python version is: Python3.9 from "/home/dietpi/pyJupyterLab/bin/python" * The NumPy version is: "1.23.2" and make sure that they are the versions you expect. Please carefully study the documentation linked above for further help. Original error was: libcblas.so.3: cannot open shared object file: No such file or directory [W 2022-09-06 13:20:39.336 ServerApp] 500 GET /nvdashboard/index.json?1662438017310 (172.16.78.253): could not start nvdashboard in time [E 2022-09-06 13:20:40.365 ServerApp] { "Host": "dietpi-001s8:8888", "Accept": "*/*", "Referer": "http://dietpi-001s8:8888/lab", "User-Agent": "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/104.0.5112.105 Safari/537.36" } [E 2022-09-06 13:20:40.373 ServerApp] 500 GET /nvdashboard/index.json?1662438017310 (172.16.78.253) 22527.18ms referer=http://dietpi-001s8:8888/lab
$ sudo update-alternatives --get-selections
automake auto /usr/bin/automake-1.16 awk auto /usr/bin/mawk builtins.7.gz auto /usr/share/man/man7/bash-builtins.7.gz c++ auto /usr/bin/g++ c89 auto /usr/bin/c89-gcc c99 auto /usr/bin/c99-gcc cc auto /usr/bin/gcc cpp auto /usr/bin/cpp cyfmac43455-sdio.bin auto /lib/firmware/cypress/cyfmac43455-sdio-standard.bin display auto /usr/bin/gpicview editor auto /bin/nano gnome-www-browser auto /usr/bin/chromium-browser iotop auto /usr/sbin/iotop-py libblas.so.3-arm-linux-gnueabihf manual /usr/lib/arm-linux-gnueabihf/blas/libblas.so.3 liblapack.so.3-arm-linux-gnueabihf auto /usr/lib/arm-linux-gnueabihf/openblas-pthread/liblapack.so.3 libopenblas.so.0-arm-linux-gnueabihf auto /usr/lib/arm-linux-gnueabihf/openblas-pthread/libopenblas.so.0 lightdm-greeter auto /usr/share/xgreeters/lightdm-gtk-greeter.desktop lzma auto /usr/bin/xz mp3-decoder auto /usr/bin/mpg123.bin mpg123 auto /usr/bin/mpg123.bin mt auto /bin/mt-gnu open auto /usr/bin/xdg-open pager auto /usr/bin/less pico auto /bin/nano pinentry auto /usr/bin/pinentry-curses rcp auto /usr/bin/scp regulatory.db auto /lib/firmware/regulatory.db-debian rlogin auto /usr/bin/slogin rmt auto /usr/sbin/rmt-tar rsh auto /usr/bin/ssh tdbbackup auto /usr/bin/tdbbackup.tdbtools vncconfig auto /usr/bin/tigervncconfig vncpasswd auto /usr/bin/tigervncpasswd vncserver auto /usr/bin/tigervncserver vncsession auto /usr/sbin/tigervncsession write auto /usr/bin/write.ul x0vncserver auto /usr/bin/x0tigervncserver x-cursor-theme auto /usr/share/icons/Adwaita/cursor.theme x-session-manager auto /usr/bin/startlxde x-terminal-emulator auto /usr/bin/lxterminal Xvnc auto /usr/bin/Xtigervnc x-window-manager auto /usr/bin/openbox x-www-browser auto /usr/bin/chromium-browser yacc auto /usr/bin/bison.yacc
NumPy が依存している libcblas.so.3 をインストールする
この文献の NumPy のバージョンは以下のとおり…🤔
$ pip show --verbose numpy
Name: numpy Version: 1.23.2 Summary: NumPy is the fundamental package for array computing with Python. Home-page: https://www.numpy.org Author: Travis E. Oliphant et al. Author-email: License: BSD Location: /home/dietpi/pyJupyterLab/lib/python3.9/site-packages Requires: Required-by: bokeh Metadata-Version: 2.1 Installer: pip Classifiers: Development Status :: 5 - Production/Stable Intended Audience :: Science/Research Intended Audience :: Developers License :: OSI Approved :: BSD License Programming Language :: C Programming Language :: Python Programming Language :: Python :: 3 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.10 Programming Language :: Python :: 3 :: Only Programming Language :: Python :: Implementation :: CPython Topic :: Software Development Topic :: Scientific/Engineering Typing :: Typed Operating System :: Microsoft :: Windows Operating System :: POSIX Operating System :: Unix Operating System :: MacOS Entry-points: [array_api] numpy = numpy.array_api [console_scripts] f2py = numpy.f2py.f2py2e:main f2py3 = numpy.f2py.f2py2e:main f2py3.9 = numpy.f2py.f2py2e:main [pyinstaller40] hook-dirs = numpy:_pyinstaller_hooks_dir Project-URLs: Bug Tracker, https://github.com/numpy/numpy/issues Documentation, https://numpy.org/doc/1.23 Source Code, https://github.com/numpy/numpy
Raspberry Pi の Python で NumPy をインストールしても動かない😅
$ python -c 'import numpy'
Traceback (most recent call last): File "/home/dietpi/pyJupyterLab/lib/python3.9/site-packages/numpy/core/__init__.py", line 23, infrom . import multiarray File "/home/dietpi/pyJupyterLab/lib/python3.9/site-packages/numpy/core/multiarray.py", line 10, in from . import overrides File "/home/dietpi/pyJupyterLab/lib/python3.9/site-packages/numpy/core/overrides.py", line 6, in from numpy.core._multiarray_umath import ( ImportError: libcblas.so.3: cannot open shared object file: No such file or directory During handling of the above exception, another exception occurred: Traceback (most recent call last): File " ", line 1, in File "/home/dietpi/pyJupyterLab/lib/python3.9/site-packages/numpy/__init__.py", line 140, in from . import core File "/home/dietpi/pyJupyterLab/lib/python3.9/site-packages/numpy/core/__init__.py", line 49, in raise ImportError(msg) ImportError: IMPORTANT: PLEASE READ THIS FOR ADVICE ON HOW TO SOLVE THIS ISSUE! Importing the numpy C-extensions failed. This error can happen for many reasons, often due to issues with your setup or how NumPy was installed. We have compiled some common reasons and troubleshooting tips at: https://numpy.org/devdocs/user/troubleshooting-importerror.html Please note and check the following: * The Python version is: Python3.9 from "/home/dietpi/pyJupyterLab/bin/python" * The NumPy version is: "1.23.2" and make sure that they are the versions you expect. Please carefully study the documentation linked above for further help. Original error was: libcblas.so.3: cannot open shared object file: No such file or directory
共有ライブラリの依存関係を調べる
Python 3.9.2 の NumPy の場合、{Python 仮想環境ディレクトリ}/lib/python3.9/site-packages/numpy/core/_multiarray_umath.cpython-39-arm-linux-gnueabihf.so
を ldd コマンドで調べる🤔
※NumPy が依存している BLAS (Basic Linear Algebra Subprograms) 共有ライブラリ (libcblas.so.3) が無い😱😇
$ python -VV
Python 3.9.2 (default, Mar 12 2021, 04:06:34) [GCC 10.2.1 20210110]
$ ldd ./pyJupyterLab/lib/python3.9/site-packages/numpy/core/_multiarray_umath.cpython-39-arm-linux-gnueabihf.so
/usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so => /usr/lib/arm-linux-gnueabihf/libarmmem-v6l.so (0xb6cfa000) libcblas.so.3 => not found libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xb6c7a000) libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0xb6c4e000) libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb6afa000) /lib/ld-linux-armhf.so.3 (0xb6f87000)
libcblas.so.3 をインストールするには libatlas3-base が必要ですけど…🤔
$ sudo apt-file update && apt-file search libcblas.so.3
Get:1 http://raspbian.raspberrypi.org/raspbian bullseye InRelease [15.0 kB] Hit:2 https://archive.raspberrypi.org/debian bullseye InRelease Fetched 15.0 kB in 4s (4,243 B/s) Reading package lists... Done Building dependency tree... Done Reading state information... Done All packages are up to date. libatlas3-base: /usr/lib/arm-linux-gnueabihf/libcblas.so.3 libatlas3-base: /usr/lib/arm-linux-gnueabihf/libcblas.so.3.10.3 libblas-dev: /usr/share/doc/libblas-dev/README.if-you-look-for-libcblas.so.3
libatlas3-base パッケージに libcblas.so.3 が含まれますが、パッケージの依存関係は libatlas-base-dev が libatlas3-base に依存しているので、libatlas-base-dev をインストールすれば問題は解決します😊
$ apt-cache depends libatlas3-base
libatlas3-base Depends: libc6 Depends: libgcc-s1 Depends: libgfortran5 Conflicts:Breaks: libatlas-base-dev Breaks: libblas3 Breaks: liblapack3 Breaks: libopenblas-base Replaces:
$ apt-cache depends libatlas-base-dev
libatlas-base-dev Depends: libatlas3-base Conflicts:Breaks: Breaks: libblas-dev Breaks: liblapack-dev Breaks: libopenblas-dev Suggests: libatlas-doc Suggests: liblapack-doc Replaces: Replaces:
libatlas-base-dev パッケージのインストール
Troubleshooting ImportError(Raspberry Pi) - NumPy v1.24.dev0 Manualの指示にしたがってlibatlas-base-dev パッケージをインストールする🤔
$ sudo apt install libatlas-base-dev
Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: libatlas3-base Suggested packages: libatlas-doc liblapack-doc The following NEW packages will be installed: libatlas-base-dev libatlas3-base 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 5,055 kB of archives. After this operation, 26.5 MB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf libatlas3-base armhf 3.10.3-10+rpi1 [2,454 kB] Get:2 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf libatlas-base-dev armhf 3.10.3-10+rpi1 [2,601 kB] Fetched 5,055 kB in 19s (265 kB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libatlas3-base:armhf. (Reading database ... 75272 files and directories currently installed.) Preparing to unpack .../libatlas3-base_3.10.3-10+rpi1_armhf.deb ... Unpacking libatlas3-base:armhf (3.10.3-10+rpi1) ... Selecting previously unselected package libatlas-base-dev:armhf. Preparing to unpack .../libatlas-base-dev_3.10.3-10+rpi1_armhf.deb ... Unpacking libatlas-base-dev:armhf (3.10.3-10+rpi1) ... Setting up libatlas3-base:armhf (3.10.3-10+rpi1) ... update-alternatives: using /usr/lib/arm-linux-gnueabihf/atlas/libblas.so.3 to provide /usr/lib/arm-linux-gnueabihf/libblas.so.3 (libblas.so.3-arm-linux-gnueabihf) in auto mode update-alternatives: using /usr/lib/arm-linux-gnueabihf/atlas/liblapack.so.3 to provide /usr/lib/arm-linux-gnueabihf/liblapack.so.3 (liblapack.so.3-arm-linux-gnueabihf) in auto mode Setting up libatlas-base-dev:armhf (3.10.3-10+rpi1) ... update-alternatives: using /usr/lib/arm-linux-gnueabihf/atlas/libblas.so to provide /usr/lib/arm-linux-gnueabihf/libblas.so (libblas.so-arm-linux-gnueabihf) in auto mode update-alternatives: using /usr/lib/arm-linux-gnueabihf/atlas/liblapack.so to provide /usr/lib/arm-linux-gnueabihf/liblapack.so (liblapack.so-arm-linux-gnueabihf) in auto mode Processing triggers for libc-bin (2.31-13+rpt2+rpi1+deb11u3) ...
BLAS (Basic Linear Algebra Subprograms) の実装は複数あるが、openblas の pthread 版をひとまずインストールしてみる…🤔
$ sudo update-alternatives --config libblas.so.3-arm-linux-gnueabihf
There are 3 choices for the alternative libblas.so.3-arm-linux-gnueabihf (providing /usr/lib/arm-linux-gnueabihf/libblas.so.3). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/lib/arm-linux-gnueabihf/openblas-pthread/libblas.so.3 100 auto mode 1 /usr/lib/arm-linux-gnueabihf/atlas/libblas.so.3 35 manual mode 2 /usr/lib/arm-linux-gnueabihf/blas/libblas.so.3 10 manual mode 3 /usr/lib/arm-linux-gnueabihf/openblas-pthread/libblas.so.3 100 manual mode Pressto keep the current choice[*], or type selection number:
libopenblas0-pthread パッケージに含まれている🤔
$ sudo apt-file update && apt-file search --regexp 'libc?blas.so.3'
Hit:1 http://raspbian.raspberrypi.org/raspbian bullseye InRelease Hit:2 https://archive.raspberrypi.org/debian bullseye InRelease Reading package lists... Done Building dependency tree... Done Reading state information... Done All packages are up to date. libatlas3-base: /usr/lib/arm-linux-gnueabihf/atlas/libblas.so.3 libatlas3-base: /usr/lib/arm-linux-gnueabihf/atlas/libblas.so.3.10.3 libatlas3-base: /usr/lib/arm-linux-gnueabihf/libcblas.so.3 libatlas3-base: /usr/lib/arm-linux-gnueabihf/libcblas.so.3.10.3 libblas-dev: /usr/share/doc/libblas-dev/README.if-you-look-for-libcblas.so.3 libblas3: /usr/lib/arm-linux-gnueabihf/blas/libblas.so.3 libblas3: /usr/lib/arm-linux-gnueabihf/blas/libblas.so.3.9.0 libblis3-openmp: /usr/lib/arm-linux-gnueabihf/blis-openmp/libblas.so.3 libblis3-pthread: /usr/lib/arm-linux-gnueabihf/blis-pthread/libblas.so.3 libblis3-serial: /usr/lib/arm-linux-gnueabihf/blis-serial/libblas.so.3 libopenblas0-openmp: /usr/lib/arm-linux-gnueabihf/openblas-openmp/libblas.so.3 libopenblas0-pthread: /usr/lib/arm-linux-gnueabihf/openblas-pthread/libblas.so.3 libopenblas0-serial: /usr/lib/arm-linux-gnueabihf/openblas-serial/libblas.so.3
libopenblas0-pthread パッケージをインストールする🤔
$ sudo apt install libopenblas0-pthread
Reading package lists... Done Building dependency tree... Done Reading state information... Done The following NEW packages will be installed: libopenblas0-pthread 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 2,152 kB of archives. After this operation, 13.9 MB of additional disk space will be used. Get:1 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf libopenblas0-pthread armhf 0.3.13+ds-3+rpi1 [2,152 kB] Fetched 2,152 kB in 4s (502 kB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libopenblas0-pthread:armhf. (Reading database ... 78711 files and directories currently installed.) Preparing to unpack .../libopenblas0-pthread_0.3.13+ds-3+rpi1_armhf.deb ... Unpacking libopenblas0-pthread:armhf (0.3.13+ds-3+rpi1) ... Setting up libopenblas0-pthread:armhf (0.3.13+ds-3+rpi1) ... update-alternatives: using /usr/lib/arm-linux-gnueabihf/openblas-pthread/libblas.so.3 to provide /usr/lib/a rm-linux-gnueabihf/libblas.so.3 (libblas.so.3-arm-linux-gnueabihf) in auto mode update-alternatives: using /usr/lib/arm-linux-gnueabihf/openblas-pthread/liblapack.so.3 to provide /usr/lib /arm-linux-gnueabihf/liblapack.so.3 (liblapack.so.3-arm-linux-gnueabihf) in auto mode update-alternatives: using /usr/lib/arm-linux-gnueabihf/openblas-pthread/libopenblas.so.0 to provide /usr/l ib/arm-linux-gnueabihf/libopenblas.so.0 (libopenblas.so.0-arm-linux-gnueabihf) in auto mode Processing triggers for libc-bin (2.31-13+rpt2+rpi1+deb11u4) ...
これは libblas.so.3 を切り替えているだけで…🤔
$ sudo update-alternatives --config libblas.so.3-arm-linux-gnueabihf
There are 2 choices for the alternative libblas.so.3-arm-linux-gnueabihf (providing /usr/lib/arm-linux-gnueabihf/libblas.so.3). Selection Path Priority Status ------------------------------------------------------------ * 0 /usr/lib/arm-linux-gnueabihf/openblas-pthread/libblas.so.3 100 auto mode 1 /usr/lib/arm-linux-gnueabihf/blas/libblas.so.3 10 manual mode 2 /usr/lib/arm-linux-gnueabihf/openblas-pthread/libblas.so.3 100 manual mode Pressto keep the current choice[*], or type selection number:
libcblas.so.3 は別途必要…?🤔🤔🤔
$ ll /usr/lib/arm-linux-gnueabihf/openblas-pthread/libblas.so.3
-rw-r--r-- 1 root root 272780 Apr 30 2021 /usr/lib/arm-linux-gnueabihf/openblas-pthread/libblas.so.3
$ ldd ./pyJupyterLab/lib/python3.9/site-packages/numpy/core/_multiarray_umath.cpython-39-arm-linux-gnueabihf.so
/usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so => /usr/lib/arm-linux-gnueabihf/libarmmem-v6l.so (0xb6ce5000) libcblas.so.3 => not found libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xb6c65000) libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0xb6c39000) libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb6ae5000) /lib/ld-linux-armhf.so.3 (0xb6f72000)
libcblas.so.3 をインストールするには libatlas3-base が必要です😅
$ sudo apt-file update && apt-file search libcblas.so.3
Get:1 http://raspbian.raspberrypi.org/raspbian bullseye InRelease [15.0 kB] Hit:2 https://archive.raspberrypi.org/debian bullseye InRelease Fetched 15.0 kB in 4s (4,243 B/s) Reading package lists... Done Building dependency tree... Done Reading state information... Done All packages are up to date. libatlas3-base: /usr/lib/arm-linux-gnueabihf/libcblas.so.3 libatlas3-base: /usr/lib/arm-linux-gnueabihf/libcblas.so.3.10.3 libblas-dev: /usr/share/doc/libblas-dev/README.if-you-look-for-libcblas.so.3
libatlas3-base パッケージをインストールする🤔
$ sudo apt install libatlas3-base
Reading package lists... Done Building dependency tree... Done Reading state information... Done The following NEW packages will be installed: libatlas3-base 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 2,454 kB of archives. After this operation, 9,484 kB of additional disk space will be used. Get:1 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf libatlas3-base armhf 3.10.3-10+rpi1 [2,454 kB] Fetched 2,454 kB in 6s (444 kB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libatlas3-base:armhf. (Reading database ... 78721 files and directories currently installed.) Preparing to unpack .../libatlas3-base_3.10.3-10+rpi1_armhf.deb ... Unpacking libatlas3-base:armhf (3.10.3-10+rpi1) ... Setting up libatlas3-base:armhf (3.10.3-10+rpi1) ... Processing triggers for libc-bin (2.31-13+rpt2+rpi1+deb11u4) ...
Numpy のエラーは解消された😆
$ ldd ./pyJupyterLab/lib/python3.9/site-packages/numpy/core/_multiarray_umath.cpython-39-arm-linux-gnueabihf.so
/usr/lib/arm-linux-gnueabihf/libarmmem-${PLATFORM}.so => /usr/lib/arm-linux-gnueabihf/libarmmem-v6l.so (0xb6c86000) libcblas.so.3 => /lib/arm-linux-gnueabihf/libcblas.so.3 (0xb6c49000) libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0xb6bda000) libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0xb6bae000) libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0xb6a5a000) /lib/ld-linux-armhf.so.3 (0xb6f13000) libatlas.so.3 => /lib/arm-linux-gnueabihf/libatlas.so.3 (0xb6788000) libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0xb675b000)
$ python -c 'import numpy'
nmap、gimp、vlc などは libatlas3-base に依存してる???🤔🤔🤔🤔🤔
$ sudo apt remove libatlas3-base libblas3
Reading package lists... Done Building dependency tree... Done Reading state information... Done The following packages were automatically installed and are no longer required: gimp-data graphviz liba52-0.7.4 libamd2 libarchive13 libaribb24-0 libass9 libavformat58 libbabl-0.1-0 libbasicusageenvironment1 libbluray2 libbs2b0 libcamd2 libccolamd2 libcddb2 libcdt5 libcgraph6 libchromaprint1 libcolamd2 libdc1394-25 libdca0 libde265-0 libdouble-conversion3 libdvbpsi10 libdvdnav4 libdvdread8 libebml5 libexiv2-27 libfaad2 libfftw3-double3 libflite1 libgd3 libgegl-common libgexiv2-2 libgfortran5 libgme0 libgroupsock8 libgs9 libgs9-common libgts-0.7-5 libgvc6 libgvpr2 libheif1 libidn11 libijs-0.35 libilmbase25 libixml10 libjbig2dec0 libkate1 liblab-gamut1 liblilv-0-0 liblirc-client0 liblivemedia77 liblua5.2-0 libmad0 libmatroska7 libmd4c0 libmetis5 libmng1 libmpcdec6 libmpeg2-4 libmtp-common libmtp9 libmypaint-1.5-1 libmypaint-common libmysofa1 libnfs13 libnorm1 libopenexr25 libopenmpt-modplug1 libopenmpt0 libpaper1 libpathplan4 libpcap0.8 libpgm-5.3-0 libplacebo72 libpoppler-glib8 libpoppler102 libpostproc55 libprotobuf-lite23 libqt5core5a libqt5dbus5 libqt5gui5 libqt5network5 libqt5svg5 libqt5widgets5 libqt5x11extras5 librabbitmq4 libraw20 libresid-builder0c2a librubberband2 libsdl-image1.2 libsdl1.2debian libsdl2-2.0-0 libserd-0-0 libsidplay2 libsodium23 libsord-0-0 libspatialaudio0 libsratom-0-0 libsrt1.4-gnutls libssh-gcrypt-4 libsuitesparseconfig5 libswscale5 libudfread0 libupnp13 libusageenvironment3 libvidstab1.1 libvlc-bin libvlc5 libvlccore9 libwmf0.2-7 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xinput0 libxcb-xkb1 libxcb-xv0 libxkbcommon-x11-0 libzmq5 lua-lpeg nmap-common poppler-data vlc-bin vlc-data vlc-plugin-qt vlc-plugin-video-output Use 'sudo apt autoremove' to remove them. The following packages will be REMOVED: gimp libatlas3-base libavfilter7 libblas3 libcholmod3 libgegl-0.4-0 libgimp2.0 liblapack3 liblinear4 libpocketsphinx3 libsphinxbase3 libumfpack5 nmap vlc vlc-plugin-base 0 upgraded, 0 newly installed, 15 to remove and 0 not upgraded. After this operation, 68.7 MB disk space will be freed. Do you want to continue? [Y/n] n Abort.
$ sudo apt install libatlas-base-dev
Reading package lists... Done Building dependency tree... Done Reading state information... Done The following additional packages will be installed: libatlas3-base Suggested packages: libatlas-doc liblapack-doc The following NEW packages will be installed: libatlas-base-dev libatlas3-base 0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. Need to get 5,055 kB of archives. After this operation, 26.5 MB of additional disk space will be used. Do you want to continue? [Y/n] y Get:1 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf libatlas3-base armhf 3.10.3-10+rpi1 [2,454 kB] Get:2 http://raspbian.raspberrypi.org/raspbian bullseye/main armhf libatlas-base-dev armhf 3.10.3-10+rpi1 [2,601 kB] Fetched 5,055 kB in 19s (265 kB/s) debconf: delaying package configuration, since apt-utils is not installed Selecting previously unselected package libatlas3-base:armhf. (Reading database ... 75272 files and directories currently installed.) Preparing to unpack .../libatlas3-base_3.10.3-10+rpi1_armhf.deb ... Unpacking libatlas3-base:armhf (3.10.3-10+rpi1) ... Selecting previously unselected package libatlas-base-dev:armhf. Preparing to unpack .../libatlas-base-dev_3.10.3-10+rpi1_armhf.deb ... Unpacking libatlas-base-dev:armhf (3.10.3-10+rpi1) ... Setting up libatlas3-base:armhf (3.10.3-10+rpi1) ... update-alternatives: using /usr/lib/arm-linux-gnueabihf/atlas/libblas.so.3 to provide /usr/lib/arm-linux-gnueabihf/libblas.so.3 (libblas.so.3-arm-linux-gnueabihf) in auto mode update-alternatives: using /usr/lib/arm-linux-gnueabihf/atlas/liblapack.so.3 to provide /usr/lib/arm-linux-gnueabihf/liblapack.so.3 (liblapack.so.3-arm-linux-gnueabihf) in auto mode Setting up libatlas-base-dev:armhf (3.10.3-10+rpi1) ... update-alternatives: using /usr/lib/arm-linux-gnueabihf/atlas/libblas.so to provide /usr/lib/arm-linux-gnueabihf/libblas.so (libblas.so-arm-linux-gnueabihf) in auto mode update-alternatives: using /usr/lib/arm-linux-gnueabihf/atlas/liblapack.so to provide /usr/lib/arm-linux-gnueabihf/liblapack.so (liblapack.so-arm-linux-gnueabihf) in auto mode Processing triggers for libc-bin (2.31-13+rpt2+rpi1+deb11u3) ...
$ jupyter serverextension list
config dir: /home/dietpi/pyJupyterLab/etc/jupyter jupyter_server_proxy enabled - Validating... jupyter_server_proxy OK jupyterlab enabled - Validating... jupyterlab 3.4.5 OK voila.server_extension enabled - Validating... voila.server_extension OK
(pyJupyterLab) dietpi@dietpi-001:~$ jupyter labextension list
JupyterLab v3.4.5 /home/dietpi/pyJupyterLab/share/jupyter/labextensions jupyterlab-nvdashboard v0.7.0 enabled OK (python, jupyterlab_nvdashboard) @voila-dashboards/jupyterlab-preview v2.1.6 enabled OK (python, voila) @jupyterlab/server-proxy v3.2.1 enabled OK
参考文献
Troubleshooting ImportError(Raspberry Pi) - NumPy v1.24.dev0 Manual
ubuntu 14.04でBLASを使う - kashiの日記
BLASの簡単な使い方
BLAS (Basic Linear Algebra Subprograms)