質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Q&A

1回答

1388閲覧

jupyter lab の 拡張機能 jupyterlab_variableinspector を使いたいです

aoin

総合スコア0

Jupyter

Jupyter (旧IPython notebook)は、Notebook形式でドキュメント作成し、プログラムの記述・実行、その実行結果を記録するツールです。メモの作成や保存、共有、確認などもブラウザ上で行うことができます。

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

0グッド

0クリップ

投稿2020/09/30 23:16

編集2022/01/12 10:55

前提・実現したいこと

サクサクと動作する jupyter lab の環境でタイトルの拡張機能を使いたいのですが、どうするのが最善かお知恵をお貸し下さい。

特に誰かと共有するつもりはないのでオンラインにある必要はありませんが、無料で簡単に構築できるならオンラインだろうがオフラインだろうが問題ないです。

ひとまず自分の状況では古い手持ちのmacbookに軽量な jupyter lab の docker コンテナを入れて運用するのが最善と思ったのですが問題が発生して先に進めません。
この問題さえ解決すれば目的は達成できるので、自分的にはこの方向で奮闘してみました。

mac os Sierra (10.12.6)

発生している問題・エラーメッセージ

軽量なosということでalpine linuxが良いと考え、その条件で検索すると選択肢があまりないので mikebirdgeneau/jupyterlab というイメージを選択して環境を構築してみました。
他に良い選択肢があればお教え下さい。自分で試してダメだったものについては後述します。

このイメージは動作が軽くて良かったのですが、タイトルの拡張機能を入れようとしたところで、以下のエラーが発生しました。

~ # jupyter labextension install @lckr/jupyterlab_variableinspector

An error occured.

ValueError: Please install nodejs >=10.0.0 before continuing. nodejs may be installed using conda or directly from the nodejs website.
See the log file for details: /tmp/jupyterlab-debug-0g_2gfd8.log

上記のメッセージでnodejsのバージョンの問題で失敗しているのだと推測し色々と実施(後述)しましたがnodejsのバージョンを上げられず、上記のコマンドが実行できません。

使用したコマンド

ホスト側作業

docker pull mikebirdgeneau/jupyterlab
docker run -d -p 80:8888 mikebirdgeneau/jupyterlab

コンテナ側作業

apk upgrade
pip install --upgrade pip
pip install --upgrade jupyterlab

以下の作業で bash が必要だと判断し、ついでにログインシェルとしても設定しようと思い、以下のコマンドを実行しました。
apk add bash
apk add shadow
chsh -s /bin/bash

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

=> Profile not found. Tried ~/.bashrc, ~/.bash_profile, ~/.zshrc, and ~/.profile.

=> Create one of them and run this script again
OR
=> Append the following lines to the correct file yourself:

export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm

環境変数の設定が必要とのことなので以下を実施。
cd
vi .bashrc
source .bashrc
nvm install v10.22.1

Downloading and installing node v10.22.1...
Downloading https://nodejs.org/dist/v10.22.1/node-v10.22.1-linux-x64.tar.gz...
######################################################################### 100.0%
Computing checksum with sha256sum
Checksums matched!
nvm is not compatible with the npm config "prefix" option: currently set to "/usr"
Run nvm use --delete-prefix v10.22.1 to unset it.

--delete-prefix がなんなのかよくわかりませんが言われた通りに以下を実施。
~ # nvm use --delete-prefix v10.22.1

Now using node v10.22.1 (npm v6.14.6)

(ちなみに何度か環境を作り直してその中で--delete-prefix を付けずにやってみたりもしましたが、nodejsのバージョンは変化しません)

上記を実施しても以下の通りnodejsのバージョンは nvm use をする前と変わりませんでした。
~ # node -v

v8.14.0

nvm では以下のように認識されてる様子です。
~ # nvm ls-remote |grep "*"

-> v8.14.0 * (LTS: Carbon)

v10.22.1 * (Latest LTS: Dubnium)

試したこと

特にnvmにこだわりは無いので、他の方法があれば教えて下さい。

とりあえずデフォルトのnodejsを消せばなんとかなるかなと思い試してみましたが依存関係で挫折しました。
apk del nodejs

World updated, but the following packages are not removed due to:

nodejs: .build-dependencies

素のalpine linux のコンテナに自分で jupiter lab を入れようとしましたが、知ってるコマンドが殆ど使えないので挫折しました。

もっと新しい jupiter lab のイメージを使おうとしましたが、軽量なものが見つからず、仕方なく
umids/jupyterlab という debian のイメージを入れてみたところ、タイトルの目的は達成できましたが、全体の容量が5GB近くあり、ストレージの空き容量的に厳しいのと、動作が重くて煩わしかったり、コンテナ側で何故か(bashにしても)入力補完が使えなくて、使いにく過ぎたので挫折しました。

代替案として無料の heroku の環境に jupiter lab を入れようかと思っていますが、無料で使えるリソースだと上記のdebianの環境みたいに重くて使い物にならないんじゃ無いか、という懸念がありやる気になれていません。

macbookに直接入れるのが一番簡単だとは思いますが、もし失敗したら面倒臭い事になるので、なるべくなら docker のような簡単にやり直せるものが良いです。

補足情報(FW/ツールのバージョンなど)

mac os Sierra (10.12.6)

~ # cat /etc/alpine-release

3.8.0

~ # jupyter lab --version

2.2.8

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

軽量(サクサク)については、ご利用になるシステムのメモリやCPU次第になります。一方、Docker イメージのサイズという意味では Alpine にこだわる必要がなければ、プロジェクト Jupyter が開発されている jupyter/datascience-notebook を利用されるのがよろしいのではないでしょうか。

第三者が構築されたイメージの場合、イメージ容量が小さかったとしても、このような問題が発生したときに誰からもサポートを得られなかったり、コミュニティに尋ねることもできなくなりがちです。

ちなみに先のプロジェクトJupyterによるものは、1.3GB ほどであり、検索された 5GB のものより十分容量が少ないでしょう。

投稿2021/04/10 07:04

zembutsu

総合スコア1584

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問