大家好,有人尝试过在 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,它安装在 vanilla RPI 映像上。
对我来说,这似乎缺少一个包,但我不是 Python 和 Bokeh 专家。
答案1
.so 文件(共享对象)是 Linux 中的已编译库文件 - 类似于 Windows 的 DLL(动态链接库)文件。看起来您的项目中的一个依赖项需要该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