MotionEye et erreur AttributeError: module 'collections' has no attribute 'MutableMapping'
Posté : lun. 16 juin 2025 13:30
Pour les utilisateurs de motieneye qui sont passez sous bookworm (donc python3.11)
Motioeneye, même dans sa version python3 va planter avec l'erreur (sauf à se mettre dans un environnement virtuel avec une version précédente de python)
La raison ?
Bookworm est fourni avec python 3.11
Motieneye a mis des années à passer de la version python 2.7 à 3.x, quand cela a été fait, c'était pour la 3.7
Sauf que entre la 3.9 et la3.10 il y a eu de gros changements dans python
et MutableMapping n'est plus un attribut direct de collections.
Donc pour résoudre ce pb : Allez dans
Cherchez (qui est ligne 107 actuellement)
Et remplacez le part
En espérant que l'équipe de dev de MotionEye ne mette plus 10 ans a mettre à jour son code comme lors du passage à python 3
Ou documente l'installation dans des environnements virtuels (ce qui de mon point de vue est, concernant l'usage d'un service, une aberration)
Pour sa défense, python n'est pas un exemple de maitrise de la comptabilité descendante, et c'est le moins que l'on puisse dire.
Motioeneye, même dans sa version python3 va planter avec l'erreur (sauf à se mettre dans un environnement virtuel avec une version précédente de python)
Code : Tout sélectionner
AttributeError: module 'collections' has no attribute 'MutableMapping'
Bookworm est fourni avec python 3.11
Motieneye a mis des années à passer de la version python 2.7 à 3.x, quand cela a été fait, c'était pour la 3.7
Sauf que entre la 3.9 et la3.10 il y a eu de gros changements dans python
et MutableMapping n'est plus un attribut direct de collections.
Donc pour résoudre ce pb : Allez dans
Code : Tout sélectionner
/usr/local/lib/python3.10/site-packages/tornado/httputil.py
Code : Tout sélectionner
class HTTPHeaders(collections.MutableMapping)
Code : Tout sélectionner
class HTTPHeaders(collections.abc.MutableMapping)
Ou documente l'installation dans des environnements virtuels (ce qui de mon point de vue est, concernant l'usage d'un service, une aberration)
Pour sa défense, python n'est pas un exemple de maitrise de la comptabilité descendante, et c'est le moins que l'on puisse dire.