avant même de charger mon backup, je remarque que c’est python 3.9.2 qui s’est installé.
J’ai fait les modifs indiquées par @alx68
Je ne bloque pas au niveaux des dépendances mais le démon veut pas se lancer à cause de différentes erreurs de syntaxes Python 2 python 3 dans le fichier plugins/boxio/ressources/boxiocmd/boxiocmd.py" :
D’abord erreur de print "" à corriger en print ("")
puis erreur de except IOError, e: à changer en except IOError as e:
J’ai fait tout çà mais maintenant je bloque sur
[2024-08-23 14:10:36] INFO : Lancement démon boxiocmd : /usr/bin/python /var/www/html/plugins/boxio/ressources/boxiocmd/boxiocmd.py -l -o /tmp/config_boxio.xml -D
File "/var/www/html/plugins/boxio/ressources/boxiocmd/boxiocmd.py", line 387
logger.debug('Parse config XML data')
TabError: inconsistent use of tabs and spaces in indentation
Et la du coup je ne sais pas comment corriger
Ci joint mes fichiers
ressources /boxiocmd/boxiocommand.pdf (à mettre en .py) boxiocmd.pdf (23,4 Ko)
Salut @Dare707
Mince je suis en debian 10.8 et python 2.7 est installer d’office .
Il faut trouver une image plus ancienne.
as tu essayé cette commande
$ ls -l /usr/bin/python*
?
Franchement la je suis pas spécialiste mais c’est vrai la méthode de kevinchalet devrait fonctionné
il faut vraiment que python pointe vers python 2.7.
Franchement le plus simple est de trouve une image plus ancienne .Celle du 12-05-23 fonctionne il y’a tout le nécessaire pour que cela fonctionne.
Mais debian 10 devenant obsolete et non supporté par de plus en plus de plugin, nous cherchons à passer au moins en debian 11, avec les modifs conseillées par @alx68ici
Sauf que apparement avec les dernières versions de debian 11, le plugin BOXIO ne fonctionnent pas … Je suis en train de réinstaller une ancienne version de debian 11 (image du 12/05/23) pour faire le test.
En fait on ne fait que bidouiller pour pouvoir utiliser le plugin avec l’OS et JEEDOM les plus récents possibles mais évidemment l’ideal serait qu’un dev ait le temps d’adapter le plugin aux dernières versions DEBIAN / PYTHON 3 …
Ok moi je suis entrain de regarder le code pour qu’il soit supporter avec Debian 12 php8 avec version jeedom 4.4.13.
Mais du coup vu que j’ai pas le matos pour le faire fonctionner difficile pour moi
J’ai fait le test en installant la version DEBIAN 11 du 12/05/23 téléchargée ici
J’ai installé la dernière JEEDOM 4.4.13 en ligne de commande
Et j’ai restauré mon backup 4.4.13
→ Même problème que précédemment : python 3, python 2 pas installé, fichier boxio pb de syntaxe et donc demon BOXIO qui ne se lance pas…
J’ai refait le même test en chargeant un ancien backup 4.4.9 et c’est pareil.
Je soupçonne fortement que le problème de Pyhton 3 forcé vienne de la dernière version 4.4.13 de Jeedom. Car le 17 aout (cf ici), j’avais installé la dernière version de DEBIAN 11.10, et en installant la dernière version de JEEDOM 4.4.11, puis en faisant les modifs pour fichiers BOXIO et en réinstallant python 3, çà avait fonctionné. JEEDOM affichait dans santé qu’il utilise Python 2.7.16 et donc BOXIO fonctionnait…
Je ne sais pas comment installer JEEDOM 4.4.11 en ligne de commande sur une DEBIAN 11.10 …
C’est vraiment bizzare car j’ai essaye avec @potoczny qui a lui aussi un pi4 B(erreur c’est un pi3B) et chez lui python 2 a bien ete installer tu est @Dare707 en 32 bits ou 64 bits?Je viens de voir que tu est en 64 bits peut être le soucis vient de la ?
Pour ma part je suis en 4.4.10 mince maintenant j’hesite a le faire.
Ce qui serait bien c’est d’avoir un environnement avec pyvenv comme @Michel_F a fait sur le plugin mymodbus comme ça reste indépendant de jeedom et des autres paquets qui peuvent êtres installés par les autres plugins.
A ne plus rien n’y comprendre je suis en debian 11.10 et jeedom 4.4.10 en 32 bits et j’ai bien python 2.7 d’installer avec une image debian 11 du 05/12/2023.Peut être que la version 64 bits ne la pas?
Cela ne m’étonne pas, cette méthode n’a d’effet que sur ton shell utilisateur, pas sur les programmes qui appellent Python directement.
update-alternatives devrait marcher mais sinon, t’as la méthode facile et bourrin: tu supprimes le lien symbolique existant avec rm /usr/bin/python et tu le remplaces par un lien pointant vers Python 2
Après, c’est vraiment une méthode de contournement. La vraie option, c’est soit de mettre à jour le plugin pour cibler Python 3, soit d’utiliser un truc à base d’environnements virtuels, comme l’a dit @alx68 (perso, ça dépasse largement mes compétences )
Toute modification du système pour utiliser python2 au lieu de python3 est vraiment la pire chose à faire. Quelques soit la méthode. Vous allez simplement casser tous les autres plugins utilisant python…
Perso je vois une demande d’aide ou l’environnement a été magouillé, la seule réponse sera de réinstaller debian et de restaurer un backup jeedom.
Pyenv n’est pas non plus une solution ici, ca va demander autant de boulot si pas plus que de mettre à jour le plugin tout ca pour rester avec des versions obsolètes.
La seule solution c’est une mise à jour du plugin et ça personne ne peut le faire excepté le dev du plugin puisqu’il faut avoir accès au repo avec le code.
Edit: je suis sur que @kevinchalet avec toute son expérience est plus qualifié sur la question.
Je lui conseille juste d’éviter les attaques personnelles.
Pour le reste j’ai donné mon point de vue donc pensez juste à être sympa et préciser que vous avez fait ce genre de modifications lors d’une prochaine demande.
Je ne vois pas en quoi te faire remarquer que tu enfonces des portes ouvertes est une attaque personnelle (évidemment que si le plugin était toujours suivi, on n’en serait pas à proposer des solutions de contournement… non?). Mais merci pour ce conseil (que tu devrais t’appliquer à toi-même, mais passons: je suis sur Slack si tu souhaites en discuter, mais t’as pas l’air chaud ).
Cela dit, à ta différence, toutes les personnes ici utilisent le plugin en question et sont donc les premières concernées et affectées: c’est elles qui ont besoin d’une solution, aussi mauvaise soit-elle.
Contentes toi de discuter sur le fond, sur des éléments concrets et tout ira bien.
le reste n’est que pollution.
je répète les infos:
forcer utilisation python2 au lieu de python3 sur le système va créer beaucoup plus de problèmes qu’en régler.
mettre en place pyenv va demander plus de boulot que de mettre à jour le plugin (surtout pour utiliser python2, je ne serais même pas étonné que ca ne soit pas supporté par pyenv)
le code doit être mis à jour (au moins ca tout le monde est d’accord) => votre prochaine étape est de trouver un moyen d’avoir accès en écriture sur le repo du plugin pour que quelqu’un puisse faire cette mise à jour au lieu de tourner en rond sur python2.
Comment?
contacter l’auteur par de multiple moyen (forum, github…)
si pas de réponse, création d’un « plugin version 2 »
fork du repo s’il est publique
ou création d’un nouveau repo et copie d’une version installée sur un jeedom