Python et Plugins

Bonjour,
je suis un esprit simple, qui ne comprend pas comment on peut avoir une version de python system, commun au plugins, et un autre qui marche en lousdé pour les plugins récalcitrant.

En clair j’ai Zigate qui couine parce que la version de python est trop vieille pour lui,
Votre système utilise une version obsolète de Python.
Mais cela ne l’empêche pas de fonctionner, et de planter de temps en temps le daemon. (lié ou pas??)
Par contre si je change:
update-alternatives --config python

  • 0 /usr/bin/python2.7 2 auto mode
    1 /usr/bin/python2.7 2 manual mode
    2 /usr/bin/python3.4 1 manual mode

C’est les autres plugins, rfxcom mais aussi Arlo, qui ne fonctionnent plus…

Est ce que vous pourriez me tuyauter, j’imagine que c’est ultra simple et que j’ai juste à RTFM…mais je cherche le manuel en fait.

merci.

Linux considère que pyhton 2.x et python 3.x sont 2 softs différents !
Donc les deux cohabitent sans souci.

Ensuite c’est à l’auteur du plugin de te dire pourquoi il a son plugin dans une version et pas dans l’autre ou pourquoi il n’utilise pas la dernière version…

Sous windows 10 tu as internet explorer 11 et edge, ben là c’est pareil…

1 J'aime

C’est à l’auteur du plugin d’assumer sa version de python

hello, merci
ma question est plutôt y a t il un moyen de laisser python par défaut et d’obliger zigate a prendre le python qu’il lui va bien?

Bonjour,

Le plus répandu (je ne prétend pas que c’est un standard ou universel) c’est que “python” réfère à python2 et que si un plugin (ou autre) à besoin d’exécuter python3 il doit explicitement appelé “python3”
Autre post parlant du même sujet:


Et donc sous jeedom, c’est sur que si le lien “python” est modifié pour cibler python3, cela va casser plusieurs plugin (rfx, zwave mais bien d’autres)

Petite parenthèse pour arlo, j’ai bien le plan de migrer vers python3, le plus dur n’est pas pour mon code (j’ai d’autres plugin en python3, même 3.7, déjà d’ailleurs) mais le temps de test et validation des dépendances. Par contre j’envisage de changer mon démarrage pour appeler explicitement python2 histoire d’éviter ce type de soucis le temps que je valide le tout.

Donc pour zigate, que je ne connais pas, s’il a besoin de python3, il devrait appeler cette version là explicitement dans sa fonction daemon_start sous peine de casser les autres plugins.

Bonjour
merci Mips j’avais bien lu ce post aussi, et la différenciation entre python 2 et 3. et il s’agit bien d’une config du plugins et rien d’autre. Je me demandais si il y a une subtilité que j’avais raté…je pense que je vais devoir passé à l’abeille.
Merci à Vous.

Bonjour,

J’ai jeter un oeil au code du plugin zigate et pour moi tout est en ordre, le plugin appelle bien “python3” comme apparemment il a besoin.
Donc je ne comprend pas ton problème en fait. As-tu un log?

Hello, désolé ennui de santé…mes propres logs ne sont pas bonnes.

pour zigate: en lisant les logs il faut python 3.5 mini et j’ai 3.4… donc c’est bien moi qui me fourvoie. Désolé.
J’ai encore quelque Xiaomi qu’il faut périodiquement re découvrir mais dans l’ensemble cela marche.
Merci

je viens de bidouillez un max pour passer de Python 3.4 à 3.8 (update-alternatives sur /usr/local/bin au lieu de usr/bin…je suis sous Jessie) la version de python3 étant bien 3.8, zigate ne démarre plus…(relance des dépendances en boucle et démon nok) bref je suis repassé en 3.4…si quelqu’un à une procédure qui marche…Merci.

Bonjour @Vortex,

oui, ne pas utiliser Jessie.

Depuis Janvier 2020 le plugin zigate nécessite python3.5 minimum

un tableau des versions de python (par défaut) en fonction des versions de debian ici : [Présentation] akenad

Python3.5 est apporté par défaut par Stretch.

akenad :slight_smile:

J’ai rencontré une mésaventure pour mon plugin Mymodbus en rapport + ou - avec votre problématique .
Le plugin fonctionne bien avec la-plus part des utilisateurs, mais l’un d’entre eux m’a dit que le plugin ne fonctionnait pas ! je me suis connecté pour voir ou était le probléme .
En gros la bibliothèque python du plugin ne fonctionne pas alors qu’elle s’installe bien dans les logs.
j’ai chercher un bon moment avant de voir que sa version de PIP qui me sert à installer la bibliothèque était la version de pip 20.0.2
Ce qui avait pour conséquence d’installer la librairie dans python 3 et non dans le chemin pour python 2 ,
Alors qu’avec l’ancienne version 18.1 ça s’installait bien dans le fichier dans python 2.7.
Voilà pour la petite histoire que je vous partage . :wink:

Merci Akenad,
l’ennui c’est que changer de version me semble lourd et pour le moins hasardeux sur mon expérience avec les mises à jours : il y a toujours un truc qui n’est pas compatible…ou dont les commandes ont changé. me paraissait plus simple de changer la version de python, au moins en attendant que je me procure une Raspberry de spare.