KLF200 has been restarted after found not responding

On peut faire un pr pour intégrer venv au core :wink:
J’avoue ne jamais avoir fort creuser ce mécanisme mais je pense que cela aura beaucoup d’avantage.

Petit hors sujet: une interrogation que j’ai, si une lib n’est pas dans « le venv » du projet, y a-t-il un fallback vers les libs communes ?

Le venv, c’est l’avantage de nodejs avec par défaut son environnement « par app »
Python a des lib plus stables globalement, sauf que l’install par défaut en global crééer un risque plus élevé de se marcher dessus.

Non. Le plugin aura sa propre version de python avec ses modules.
Le plugin devra utiliser l’ancien système d’installation des dépendances.

A droite, le venv vide:


from sys import argv fonctionne dans le venv. Il y a peut-être des options pour cela lors de la création du venv
J’y connais rien en python.

Les packages d’un venv vide brut de création:

Package       Version
------------- -------
pip           18.1
pkg-resources 0.0.0
setuptools    40.8.0

Pour le plugin klf200 avec pyvlx, PyYAML aiohttp et toutes leurs dépendances, le venv fait une taille de 20Mo.
Les packages installés.

Package           Version
----------------- -----------
aiohttp           3.7.4.post0
async-timeout     3.0.1
attrs             21.4.0
bottle            0.12.19
chardet           4.0.0
idna              3.3
multidict         6.0.2
pip               18.1
pkg-resources     0.0.0
pyvlx             0.2.20
PyYAML            5.4.1
setuptools        40.8.0
typing-extensions 4.2.0
yarl              1.7.2

La doc: venv — Création d'environnements virtuels — Documentation Python 3.7.17

Extrait de la doc:
Note
Un environnement virtuel est un environnement Python tel que l’interpréteur Python, les bibliothèques et les scripts installés sont isolés de ceux installés dans d’autres environnements virtuels, et (par défaut) de toutes autres bibliothèques installées dans un Python « système », par exemple celui qui est installé avec votre système d’exploitation.

Le (par défaut) me laisse penser qu’il doit y avoir une option qqpart pour les libs communes.
C’est l’option --system-site-packages à la création du venv.

1 « J'aime »

Super lunarok et merci jpty pour la solution venv, car par ex j’ai aussi du débrayer le plugin vaillantMultimatic pour ma chaudière qui force une version plus récente de aiohttp. Donc quand bien meme la dépendance de klf200 est juste on n’est pas à l’abri d’un plugin tiers qui casse tout.
klf200 est quasiment LE plugin le plus critique pour moi car j’arrive à ne plus utiliser les commandes manuelles des volets. Ouvertures en fonction des reveils et des mouvements dans certaines pieces, fermetures en fonction de l’élévation du soleil (merci lunarok pour heliotrope :slight_smile: ), en fonction de la temperature extérieure pendant les journées chaudes, simulateur de présence si l’alarme est mise, etc…

Pour remettre l’église au milieu du village, le comportement « normal » c’est bien de ne pas forcer de rester dans une version inférieur justement mais d’utiliser la dernière stable, c’est aussi grâce à ça que l’on évite les failles de sécurités découvertes :wink:
Donc mon plugin ne casse rien du tout :stuck_out_tongue:

Ceci dit, si on regarde globalement la situation, je suis pour l’isolation évidement, je le disais déjà plus haut.

Oui, mips, ce n’etait pas un reproche mais juste un constat que j’avais pu faire et qui apportait un argument à l’isolation proposée en solution.

1 « J'aime »

Attention ca c’est pas top, jeedom n’est pas toujours installé dans ce dossier, il faut avoir le path en paramètre

1 « J'aime »

Bonjour,
C’est ce que j’ai tapé en étant loggé root pour que ça fonctionne chez moi.
Je laisse le soin à lunarok de faire le script kivabien. Avec les paths, les sudos, les tests d’existence de versions précédentes …

1 « J'aime »

Normalement c’est intégré :

Un jour on aura un Jeedom standardisé (et bien, pas juste en forcant la main sur des préférences mais de vraies plus-values)

Bonjour, nouvelle mise à jour aujourd’hui et depuis rebelote, c’est le même problème que la dernière fois :
« KLF200 has been restarted after found not responding »

Quoi faire et comment faire ??? Le plugin est planté…

Est il possible de réinstaller l’ancienne version ?

Voici le message dans le logo :
sh: 1: /var/www/html/plugins/klf200/resources/venv/bin/python3: not found

Avez-vous réinstallé les dépendances ?

Oui j’ai tenté !

Alors montrez le log


sh: 1: /var/www/html/plugins/klf200/resources/venv/bin/python3: not found
[2022-05-23 17:36:16][ERROR] : Impossible de lancer le démon klf200d. Vérifiez le log.
[2022-05-23 17:36:16][ERROR] : KLF200 has been restarted after found not responding
sh: 1: /var/www/html/plugins/klf200/resources/venv/bin/python3: not found
sh: 1: /var/www/html/plugins/klf200/resources/venv/bin/python3: not found
[2022-05-23 17:37:14][ERROR] : Impossible de lancer le démon klf200d. Vérifiez le log.
[2022-05-23 17:37:14][ERROR] : KLF200 has been restarted after found not responding
[2022-05-23 17:37:28][ERROR] : Impossible de lancer le démon klf200d. Vérifiez le log.
[2022-05-23 17:37:28][ERROR] : KLF200 has been restarted after found not responding
sh: 1: /var/www/html/plugins/klf200/resources/venv/bin/python3: not found
[2022-05-23 17:38:40][ERROR] : Impossible de lancer le démon klf200d. Vérifiez le log.
[2022-05-23 17:38:40][ERROR] : KLF200 has been restarted after found not responding
sh: 1: /var/www/html/plugins/klf200/resources/venv/bin/python3: not found
[2022-05-23 17:39:15][ERROR] : Impossible de lancer le démon klf200d. Vérifiez le log.
[2022-05-23 17:39:15][ERROR] : KLF200 has been restarted after found not responding
sh: 1: /var/www/html/plugins/klf200/resources/venv/bin/python3: not found
sh: 1: /var/www/html/plugins/klf200/resources/venv/bin/python3: not found
[2022-05-23 17:41:15][ERROR] : Impossible de lancer le démon klf200d. Vérifiez le log.
[2022-05-23 17:41:15][ERROR] : KLF200 has been restarted after found not responding
[2022-05-23 17:41:16][ERROR] : Impossible de lancer le démon klf200d. Vérifiez le log.
[2022-05-23 17:41:16][ERROR] : KLF200 has been restarted after found not responding
sh: 1: /var/www/html/plugins/klf200/resources/venv/bin/python3: not found
[2022-05-23 17:42:28][ERROR] : Impossible de lancer le démon klf200d. Vérifiez le log.
[2022-05-23 17:42:28][ERROR] : KLF200 has been restarted after found not responding
sh: 1: /var/www/html/plugins/klf200/resources/venv/bin/python3: not found
sh: 1: /var/www/html/plugins/klf200/resources/venv/bin/python3: not found
[2022-05-23 17:43:15][ERROR] : Impossible de lancer le démon klf200d. Vérifiez le log.
[2022-05-23 17:43:15][ERROR] : KLF200 has been restarted after found not responding
[2022-05-23 17:43:40][ERROR] : Impossible de lancer le démon klf200d. Vérifiez le log.
[2022-05-23 17:43:40][ERROR] : KLF200 has been restarted after found not responding

Est-il possible de réinstaller la version précédente ?

Ce n’est pas le log des dépendances ça.

Et non vous ne pouvez pas réinstaller la version précédente

Avant d’activer le plugin en beta du image, il faut supprimer le fichier plugins/klf200/plugin_info/packages.json qui ne devrait pas etre fourni par le plugin
Les dépendances nouvelle méthode sont prioritaires à cause de la présence de ce fichier.

Le log à fournir aprés installation des dépendances est klf200_dep

Si le plugin est activé avant la mise à jour, il faut le désactiver afin que les dépendances auto ne se lancent pas.

Il y a encore un souci aprés:

/var/www/html/plugins/klf200/resources/install.sh: line 3: /var/www/html/plugins/klf200/resources/install.sh: Permission denied
********************************************************
*             Installation des dépendances             *
********************************************************
Hit:1 http://deb.debian.org/debian buster InRelease
Get:2 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB]
Hit:3 http://deb.debian.org/debian buster-updates InRelease
Hit:4 https://deb.nodesource.com/node_14.x buster InRelease
Fetched 65.4 kB in 2s (39.8 kB/s)
Reading package lists...
Installation des dépendances apt
Reading package lists...
Building dependency tree...
Reading state information...
python3-venv is already the newest version (3.7.3-1).
The following packages were automatically installed and are no longer required:
linux-image-4.19.0-14-amd64 linux-image-4.19.0-16-amd64
Use 'sudo apt autoremove' to remove them.
0 upgraded, 0 newly installed, 0 to remove and 91 not upgraded.
/var/www/html/plugins/klf200/resources/install.sh: line 16: /venv/bin/pip3: No such file or directory
/var/www/html/plugins/klf200/resources/install.sh: line 19: /venv/bin/pip3: No such file or directory
/var/www/html/plugins/klf200/resources/install.sh: line 22: /venv/bin/pip3: No such file or directory
/var/www/html/plugins/klf200/resources/install.sh: line 25: /venv/bin/pip3: No such file or directory
********************************************************
*             Installation terminée                    *
********************************************************

Surtout ne pas rendre exécutable install.sh Ca crée des process install.sh en boucle (+ de 1600 chez moi avant arrêt de la VM).