在我的 Raspberry Pi 上,我遇到了有关使用 PiCamera 模块的奇怪行为。
当从 IDLE (F5) 或从命令提示符 ($python test.py) 启动时,以下代码可以顺利运行
import picamera
if __name__ == "__main__":
camera=picamera.PiCamera()
camera.close()
但是当我将相机对象放入类中时,代码仅在从 IDLE (F5) 启动时才会运行:
import picamera
class VF:
def __init__(self):
self.camera = picamera.PiCamera()
def __del__(self):
self.camera.close()
if __name__ == "__main__":
myvf = VF()
当我从命令提示符启动上述代码时,收到以下错误消息:
mmal:mmal_vc_component_enable:未能启用组件:ENOSPC
回溯(最近一次调用):文件“test.py”,第 14 行,位于
myvf = VF()
文件“test.py”,第 6 行,位于initself.camera = picamera.PiCamera()
文件“/usr/lib/python2.7/dist-packages/picamera/camera.py”,行
379,在initcamera_num,self.STEREO_MODES [stereo_mode],stereo_decimate)
文件“/usr/lib/python2.7/dist-packages/picamera/camera.py”,行
505,在_init_camera中
prefix="无法启用相机组件")
文件“/usr/lib/python2.7/dist-packages/picamera/exc.py”,第 133 行,
在 mmal_check 中
引发 PiCameraMMALError(状态,前缀)
picamera.exc.PiCameraMMALError:无法启用相机组件:
资源不足(内存除外)
相机模块工作正常,我只是将代码精简到尽可能小的大小。有谁知道这个问题或类似的问题,并且可以提供解决方案? Python 版本为 2.7,Raspberry Rasbiab 系统完全是最新的。
提前致谢。