sul mio Raspberry Pi, si verifica uno strano comportamento relativo all'uso del modulo PiCamera.Non è possibile inizializzare PiCamera come membro della classe quando lo script viene eseguito dal prompt dei comandi
Il seguente codice funziona senza problemi quando sia iniziato da IDLE (F5) o dal prompt dei comandi (python test.py $)
import picamera
if __name__ == "__main__":
camera=picamera.PiCamera()
camera.close()
Ma quando ho messo l'oggetto fotocamera in una classe verrà eseguito il codice solo quando ha iniziato da IDLE (F5):
import picamera
class VF:
def __init__(self):
self.camera = picamera.PiCamera()
def __del__(self):
self.camera.close()
if __name__ == "__main__":
myvf = VF()
quando avvio il codice di cui sopra dal prompt dei comandi, ricevo il seguente messaggio di errore:
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)
Il modulo della fotocamera funziona correttamente, ho appena ridotto il codice alla dimensione minima possibile. Qualcuno conosce questo problema o un problema simile e può probabilmente fornire una soluzione? La versione Python è 2.7 e il Raspberry Rasbiab-System è completamente aggiornato. Grazie in anticipo.
Ho appena confermato questo comportamento su un altro Raspberry-Pi con un altro modulo fotocamera. – Pepschmier