LoginSignup
1
0

More than 1 year has passed since last update.

Pyvista と jupyter lab を組み合わせる (ipykernel で登録した venv で使用)

Posted at

状況

pyvista 0.38 で 3d プロットを jupyter lab 内に表示するエンジンが trame に変更され、これまでのバックエンドは非推奨になりました。(2023年2月2日)
これをインストールして動作を試しました。同じ仮想環境内で jupyter lab を起動している場合は、pyvista の指示通りのインストール法で問題なく動作しました。

pip install 'jupyterlab>=3' ipywidgets 'pyvista[all,trame]'

次に、jupyter lab 環境は一つだけ作って、他の venv からも ipykernel を登録する、という運用で動作するかを調べると、これまで使っていた jupyter lab 環境そのままでは、pyvista のプロットがうまく表示されませんでした。

例えば、Click to show javascript error と表示されたり、

image-javascript_error.png

Error displaying widget: model not found と表示されたりしました。

error_displaying_widget.png

動作環境

Windows11 Home (22H2)
Python 3.10.9
pyvista 0.38.1 他は、上記 pip install でインストールされたライブラリーを使用。

解決策

フレッシュな venv 環境をいくつか作成して切り分けを試みました。

今のバージョンでは、jupyter lab 側も、kernel 側も共にマニュアル記載のインストール pip install 'pyvista[all,trame]'を行う必要があります。こうすれば、ipykernel で登録した kernel を使って pyvista の plot を描画させることはできるようです。
このとき、オプションの all が効いて、Panelpythreejs も入ってしまいますが、これをアンインストールしてみると、うまく動作しませんでした。

また、いずれにしてもノートブックの評価前は、Error displaying widget: model not found という表示が出ていました。

ここだけ見ると、そもそも jupyter lab の venv を分ける必要があるのか、という疑問も生じますが、pyvista kernel の側で、さらに目的に応じていろいろなパッケージを入れていくことを考えると、jupyter lab 用の venv は可能な範囲で手を加えないで残しておくというのも、一つのやり方だと思います。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0