OSError:libmmal.so:无法打开共享对象文件:尝试在 Raspbian 上运行 picamera 时没有此类文件或目录

问题描述 投票:0回答:2

我正在尝试使用我的 Raspberry pi B+ 中的 picamera 模块打开相机,其中安装了 Raspbian 64 位操作系统。我收到此错误:

Traceback (most recent call last):
File "/home/pi/Documents/hydroponics/scripts/picamera_test.py", line 1, in <module>
    from picamera import PiCamera
  File "/home/pi/.local/lib/python3.9/site-packages/picamera/__init__.py", line 72, in <module>
    from picamera.exc import (
  File "/home/pi/.local/lib/python3.9/site-packages/picamera/exc.py", line 41, in <module>
    import picamera.mmal as mmal
  File "/home/pi/.local/lib/python3.9/site-packages/picamera/mmal.py", line 49, in <module>
    _lib = ct.CDLL('libmmal.so')
  File "/usr/lib/python3.9/ctypes/__init__.py", line 374, in __init__
    self._handle = _dlopen(self._name, mode)
OSError: libmmal.so: cannot open shared object file: No such file or directory

相机已启用(我尝试使用 opencv 捕获相机,它成功了)。 我也尝试了

sudo rpi-update
,它说我的固件已经是最新的。 尝试了
sudo apt update
sudo apt upgrade
,但都没有解决上述问题。 我也尝试了
sudo ldconfig -p | grep mmal
,它输出:

 libmmal_vc_client.so (libc6) => /opt/vc/lib/libmmal_vc_client.so
 libmmal_util.so (libc6) => /opt/vc/lib/libmmal_util.so
 libmmal_core.so (libc6) => /opt/vc/lib/libmmal_core.so
 libmmal_components.so (libc6) => /opt/vc/lib/libmmal_components.so
 libmmal.so (libc6) => /opt/vc/lib/libmmal.so

对于如何解决此错误有什么建议吗?谢谢!

raspberry-pi raspbian picamera
2个回答
9
投票

我刚刚发现 Raspbian 64 位操作系统仍然不支持 picamera。

https://github.com/raspberrypi/firmware/issues/1558#issuecomment-983483179

所以我们可能可以使用libcamera(还没尝试过)或opencv(尝试过并且工作正常)


0
投票

我有同样的错误,我通过移动解决了它

/opt/vc/lib/libmmal_vc_client.so
/opt/vc/lib/libmmal_util.so
/opt/vc/lib/libmmal_core.so
/opt/vc/lib/libmmal_components.so
/opt/vc/lib/libmmal.so

进入/usr/lib/

如果找不到任何其他文件,只需使用

sudo find / -name "name of the file"

然后移动到 /usr/lib/ 为我工作

希望这有帮助。 :)

© www.soinside.com 2019 - 2024. All rights reserved.