Hallo, hat jemand versucht, Bokeh auf einem Raspberry Pi zu installieren?
Wenn ich versuche, ein Diagramm in einer HTML-Datei zu generieren, wird mir folgende Fehlermeldung angezeigt:
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
Es ist jetzt mit pip3 installiert, aber ich habe auch pip ausprobiert, es ist auf einem Vanilla-RPI-Image installiert.
Für mich sieht es so aus, als ob ein Paket fehlt, aber ich bin kein Python- und auch kein Bokeh-Experte.
Antwort1
Eine .so-Datei (Shared Object) ist eine kompilierte Bibliotheksdatei in Linux – ähnlich den DLL-Dateien (Dynamic Linked Library) von Windows. Es sieht so aus, als ob eine der Abhängigkeiten in Ihrem Projekt die libopenjp2.so.7
Bibliothek erfordert. Stellen Sie sicher, dass sie mit Folgendem installiert ist:
sudo apt-get install libopenjp2-7
Sie könnten dann versuchen, den Cache der gemeinsam genutzten Linux-Bibliothek zu überprüfen, um festzustellen, ob es dort vorhanden ist.
ldconfig -p | grep 'libopenjp2.so.7'
Das Ergebnis sollte ungefähr so aussehen:
libopenjp2.so.7 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libopenjp2.so.7
Wenn Sie nichts sehen, versuchen Sie, den Cache mit folgendem zu aktualisieren:
sudo ldconfig