树莓派4运行Picamera脚本报MMAL vc.camera_info组件不存在错误如何修复
报错原因
该vc.camera_info相关MMAL错误,是因为你使用的旧版Picamera库仅兼容树莓派Legacy摄像头栈,若你安装的是2023年之后发布的树莓派OS(Bookworm版本),系统默认启用libcamera摄像头框架,不支持旧版Picamera依赖的MMAL接口,就会触发该报错。
修复方案
- 首先验证硬件连接正常:执行命令
vcgencmd get_camera,若输出中supported=1 detected=1说明硬件识别正常;若detected为0,先检查摄像头排线正反、接口是否插紧,确认摄像头无硬件损坏。 - 方案1:切换为Legacy摄像头栈(适用于必须使用旧版Picamera的场景)
执行命令sudo raspi-config,依次选择Interface Options->Camera,选择启用Legacy摄像头支持,保存配置后重启树莓派即可。 - 方案2:改用适配新框架的Picamera2库(Bookworm系统更推荐,无需切换栈)
- 先卸载旧版Picamera:
pip uninstall picamera - 安装Picamera2:
sudo apt install python3-picamera2 - 替换你的测试代码为适配Picamera2的版本:
- 先卸载旧版Picamera:
from picamera2 import Picamera2, Preview import time picam2 = Picamera2() config = picam2.create_still_configuration(main={"size": (1024, 768)}) picam2.configure(config) picam2.start_preview(Preview.QTGL) picam2.start() time.sleep(2) picam2.capture_file("foo.jpg")
- 最后检查权限:你当前使用了virtualenv虚拟环境,若运行脚本仍提示权限错误,可以将当前用户加入video用户组:
sudo usermod -aG video $USER,执行后重新登录生效,或者临时加sudo运行测试脚本。
内容的提问来源于stack exchange,提问作者ElOrdo
相关产品推荐
相关产品推荐

