na moim Raspberry Pi, spotykam się z dziwnym zachowaniem dotyczącym użycia modułu PiCamera.PiCamera nie może zostać zainicjowany jako członek klasy, gdy skrypt uruchamiany jest z wiersza polecenia
Poniższy kod działa sprawnie, gdy obaj zaczęli od biegu jałowego (F5) lub z poziomu wiersza poleceń ($ python test.py)
import picamera
if __name__ == "__main__":
camera=picamera.PiCamera()
camera.close()
Ale kiedy umieścić obiekt kamery w klasie kod będzie działał tylko wtedy, gdy zaczęło się od IDLE (F5):
import picamera
class VF:
def __init__(self):
self.camera = picamera.PiCamera()
def __del__(self):
self.camera.close()
if __name__ == "__main__":
myvf = VF()
kiedy zacznę powyższy kod z wiersza polecenia, pojawia się następujący komunikat o błędzie:
mmal: mmal_vc_component_enable: failed to enable component: ENOSPC
Traceback (most recent call last): File "test.py", line 14, in myvf = VF()
File "test.py", line 6, in init self.camera = picamera.PiCamera()
File "/usr/lib/python2.7/dist-packages/picamera/camera.py", line 379, in init camera_num, self.STEREO_MODES[stereo_mode], stereo_decimate)
File "/usr/lib/python2.7/dist-packages/picamera/camera.py", line 505, in _init_camera prefix="Camera component couldn't be enabled")
File "/usr/lib/python2.7/dist-packages/picamera/exc.py", line 133, in mmal_check raise PiCameraMMALError(status, prefix)
picamera.exc.PiCameraMMALError: Camera component couldn't be enabled: Out of resources (other than memory)
Moduł kamery działa poprawnie, po prostu usunąłem kod do najmniejszego możliwego rozmiaru. Czy ktokolwiek zna ten problem lub podobny problem i prawdopodobnie może dostarczyć rozwiązanie? Wersja Pythona to 2.7, a system Raspberry Rasbiab jest całkowicie aktualny. Z góry dzięki.
Właśnie potwierdziłem to zachowanie na innym Raspberry-Pi z innym modułem kamery. – Pepschmier