こんにちは、Raspberry Pi に Bokeh をインストールしてみた人はいますか?
プロットを HTML ファイルに生成しようとすると、次のエラーが発生します。
python3 test1.py
Traceback (most recent call last):
File "test1.py", line 1, in <module>
from bokeh.plotting import figure, output_file, show
File "/usr/local/lib/python3.5/dist-packages/bokeh/plotting/__init__.py", line 57, in <module>
from . import figure as _figure
File "/usr/local/lib/python3.5/dist-packages/bokeh/plotting/figure.py", line 26, in <module>
from ..core.properties import Any, Auto, Either, Enum, Int, List, Seq, Instance, String, Tuple
File "/usr/local/lib/python3.5/dist-packages/bokeh/core/properties.py", line 255, in <module>
from .property.dataspec import AngleSpec; AngleSpec
File "/usr/local/lib/python3.5/dist-packages/bokeh/core/property/dataspec.py", line 40, in <module>
from .visual import FontSize, MarkerType
File "/usr/local/lib/python3.5/dist-packages/bokeh/core/property/visual.py", line 29, in <module>
import PIL.Image
File "/usr/local/lib/python3.5/dist-packages/PIL/Image.py", line 94, in <module>
from . import _imaging as core
ImportError: libopenjp2.so.7: cannot open shared object file: No such file or directory
現在は pip3 でインストールされていますが、pip も試してみました。これは、バニラ RPI イメージにインストールされています。
パッケージが不足しているように見えますが、私は Python の専門家でも Bokeh の専門家でもありません。
答え1
.so ファイル (共有オブジェクト) は Linux のコンパイルされたライブラリ ファイルで、Windows の DLL (ダイナミック リンク ライブラリ) ファイルに似ています。プロジェクトの依存関係の 1 つにライブラリが必要なようですlibopenjp2.so.7
。次の方法でインストールされていることを確認してください。
sudo apt-get install libopenjp2-7
次に、Linux 共有ライブラリ キャッシュをチェックして、そこにあるかどうかを確認します。
ldconfig -p | grep 'libopenjp2.so.7'
次のような結果になるはずです:
libopenjp2.so.7 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopenjp2.so.7
何も表示されない場合は、次のコマンドでキャッシュを更新してみてください。
sudo ldconfig