Page 1 sur 1

[Résolu] Problème python après passage en bullseye

Publié : 25 juil. 2023, 11:23
par denis_brasseur
Bonjour,
suite à migration vers bullseye puis passage en 2023-2, je rencontre un problème dans l'exécution des scripts python.
Version
Version: 2023.2
Build Hash: 19efd039c
Compile Date: 2023-07-21 17:23:44
dzVents Version: 3.1.8
Python Version: 3.9.2 (default, Mar 12 2021, 04:06:34) [GCC 10.2.1 20210110]
Exemple du script cozytouch
¤¤¤¤ Demarrage script cozytouch <=> domoticz version 5.34 (debug :0)
Version python : 3.9.2
!!!! Echec test version python, ce script nécessite python 2.7.x (idealement 2.7.15)
Exemple du script 4g
Traceback (most recent call last):
File "/home/pi/domoticz/scripts/python/gbox.py", line 3, in <module>
from huawei_lte_api.Client import Client
ModuleNotFoundError: No module named 'huawei_lte_api'
Il y a comme un truc qui m'échappe.
Les scripts n'on pas été modifiés, ils ont toujours fonctionnés

Re: Problème python après passage en bullseye

Publié : 25 juil. 2023, 12:34
par Keros
Des bibliothèques python 3.7 qui ne serait pas dispo en python 3.9 ?? Si c'était le cas, cela aurait klaxonner depuis un moment chez d'autres membres qui seraient déjà passer sous Bullseye. De mémoire, je n'ai pas vu de retours similaires sur le forum.

Quoique, en recherchant le sujet dédié à Cozytouch, il semblerait qu'il y a un quelque chose de similaire : viewtopic.php?p=109879#p109879

[RESOLU] Re: Problème python après passage en bullseye

Publié : 26 juil. 2023, 11:02
par denis_brasseur
Suite au passage en bullseye, passage en python 3.9, mais absence de python 2.
J'ai du forcer le paquet python 2.7 et ajouter ensuite les dépendances manquantes pip, huawei_lte_api et requests.
Tout est rentré dans l'ordre.

Re: [Résolu] Problème python après passage en bullseye

Publié : 26 juil. 2023, 12:10
par Keros
Top

Je viens de déplacer la sujet dans la section dédiée à Linux.

Re: [RESOLU] Re: Problème python après passage en bullseye

Publié : 26 juil. 2023, 14:02
par lost
denis_brasseur a écrit : 26 juil. 2023, 11:02 J'ai du forcer le paquet python 2.7 et ajouter ensuite les dépendances manquantes pip, huawei_lte_api et requests.
Je ne connais pas la complexité de ce que cela tire de ton côté, mais comme pour ma part je me refuse à utiliser pip...

Plutôt que passer par pip pour installer "LIB", je prends le paquet "python-LIB" de la distro via apt (si existant, sinon je trouve une alternative prise en charge) et ne change pas la version python non plus pour éviter de déstabiliser possiblement tout python...

Vu le nb de scripts/petits utilitaires système se basant désormais dessus, cela devient casse gueule les mélanges (sans passer par la lourdeur d'un environnement virtuel: On retombe dans un Syndrome JAVA, avec chaque applicatif qui s'est mis à tirer sa propre JVM+dépendances afin de les gérer en mode cochon).

J'avais donc fait une migration de mes propres scripts.

Et pour faciliter les choses, l'utilitaire 2to3 (dispo via le paquet debian du même nom) mâche pas mal le boulot. A la prochaine debian, probable qu'il soit encore plus difficile (impossible?) d'y couper.

Le gros check à faire, c'est vraiment faire le tour de ce sur quoi se basent les dépendances tierces (genre ce huawei_lte_api): Cela peut tirer des modules qui n'existent plus en python 3 auxquels in faudra trouver des équivalents et modifier les sources en conséquence (si huawei ne s'y est pas déjà collé).