Installation dépendance KLF200

> 
> root@JeedomAtlas:/# pip3 --version
> pip 18.1 from /usr/lib/python3/dist-packages/pip (python 3.7)
> root@JeedomAtlas:/# python3 --version
> Python 3.4.3

Les versions de python3 3.7 et pip3 3.4 ne correspondent pas.
J’ai ça sur ma Smart à jour.
image

image

Pourtant dans ce post Installation dépendance KLF200 - #51 par Kiwane vous aviez python 3.7.3 dans le venv.

effectivement, j’ai le problème depuis les mamip faite en MP avec vous :slight_smile: je ne sais pas ce qu’il s’est passé

Dans les manips en MP, il n’y a pas eu de reinstall de python.
Juste une install de python3-dev
Suppression du venv pour essayer de corriger sa création.
Reinstall des dépendances sans succès ( pip3 absent ).

A la création manuelle du venv en root, aucun message d’erreur et pourtant pip3 n’est pas dans le venv.

python3 -m venv /var/www/html/plugins/klf200/resources/venv

Maintenant il faut corriger python3/pip3 afin que le venv se crée complètement.
La procédure d’install de Jeedom fait:

apt-get -y install python3 python3-pip

Peut-être faut-il supprimer ces 2 packages avant de les réinstaller.
Vérifiez ensuite les versions de pip3/python3

> root@JeedomAtlas:/# apt-get -y install python3 python3-pip
> Reading package lists... Done
> Building dependency tree
> Reading state information... Done
> python3-pip is already the newest version (18.1-5).
> python3 is already the newest version (3.7.3-1).
> 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
> root@JeedomAtlas:/#

il me dit que je suis déja à jour…
Il y a un moyen de remettre à 0 la box smart ? au moins je repars propre, j’ai dû faire une boulette à un moment…

L’install dit que python est en 3.7.3.1.
Tout à l’heure python3 --version répondait 3.4.3

Relancer la commande pour vérifier.

python3 --version

Pourriez-vous poster la page Santé de Jeedom ?

Python est bien en 3.4.3… incompréhensible…

> root@JeedomAtlas:/# python3 --version
> Python 3.4.3

Cette page là ?

Oui merci.
Vous n’avez pas une Smart mais une Atlas. Corrigez votre profil sur ce forum.
Quel est le résultat des commandes suivantes?

whereis python3
which python3

Profil mis à jour :slight_smile:

> root@JeedomAtlas:/# whereis python3
> python3: /usr/bin/python3 /usr/bin/python3.7 /usr/bin/python3.7-config /usr/bin/python3.7m-config /usr/bin/python3.7m /usr/lib/python3 /usr/lib/python3.7 /etc/python3 /etc/python3.7 /usr/local/bin/python3 /usr/local/bin/python3.4m-config /usr/local/bin/python3.4m /usr/local/bin/python3.4-config /usr/local/bin/python3.4 /usr/local/lib/python3.7 /usr/local/lib/python3.4 /usr/include/python3.7 /usr/include/python3.7m /usr/share/python3 /usr/share/man/man1/python3.1.gz
> root@JeedomAtlas:/# which python3
> /usr/local/bin/python3
> root@JeedomAtlas:/#

Encore une commande:

/usr/bin/python3 --version
> root@JeedomAtlas:/# /usr/bin/python3 --version
> Python 3.7.3
> root@JeedomAtlas:/#

euhh python à 2 versions ?

Vous avez python 3.4 dans /usr/local/bin et python 3.7 dans /usr/bin/python3
Jamais vu ça. Je savais que python était fait de bric et de broc. C’est confirmé.
Il y a aussi une version 2.7 ailleurs.

C’est un beau bordel effectivement…
Avec une restauration du 14/07, ça a l’air dêtre bon, les dépendances sont au vert !
plus qu’à résoudre le probléme du démon qui reboote sans arrêt

1 « J'aime »

On tourne en rond.
Pour résoudre il faut installer le package python3-dev et relancer les dépendances.

Il faut supprimer le venv qui est incorrect.
Puis pour faire l’install des dep du plugin, il faut modifier le script /var/www/html/plugins/klf200/resources/install.sh pour lancer python3.7 lors de la création du venv.

Effectivement ça tourne en rond là du coup :frowning:

> 
> root@JeedomAtlas:/# apt-get update
> Hit:1 http://security.debian.org buster/updates InRelease
> Hit:2 http://deb.debian.org/debian buster InRelease
> Get:3 http://deb.debian.org/debian buster-updates InRelease [51.9 kB]
> Hit:4 https://deb.nodesource.com/node_14.x buster InRelease
> Get:5 http://deb.debian.org/debian buster-backports InRelease [46.7 kB]
> Hit:6 https://armbian.site-meganet.com/apt buster InRelease
> Fetched 98.6 kB in 3s (38.7 kB/s)
> Reading package lists... Done
> root@JeedomAtlas:/# apt-get install python3-dev
> Reading package lists... Done
> Building dependency tree
> Reading state information... Done
> python3-dev is already the newest version (3.7.3-1).
> 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
> root@JeedomAtlas:/#

Donc là je suis bien en 3.7.3-1

> root@JeedomAtlas:/# whereis python3
> python3: /usr/bin/python3 /usr/bin/python3.7 /usr/bin/python3.7-config /usr/bin/python3.7m-config /usr/bin/python3.7m /usr/lib/python3 /usr/lib/python3.7 /etc/python3 /etc/python3.7 /usr/local/bin/python3 /usr/local/bin/python3.4m-config /usr/local/bin/python3.4m /usr/local/bin/python3.4-config /usr/local/bin/python3.4 /usr/local/lib/python3.7 /usr/local/lib/python3.4 /usr/include/python3.7 /usr/include/python3.7m /usr/share/python3 /usr/share/man/man1/python3.1.gz
> root@JeedomAtlas:/#

J’ai toujours du 3.4 et du 3.1…

> root@JeedomAtlas:/# which python3
> /usr/local/bin/python3

Pour votre Atlas:
https://doc.jeedom.com/fr_FR/installation/atlas

Ce n’est pas déja le cas ?

> echo 60 > ${PROGRESS_FILE}
> ${DIRPATH}/venv/bin/pip3 install aiohttp==3.7.4.post0

La création du venv, c’est ça:

python3 -m venv ${DIRPATH}/venv

Dans l’install, Il manque python3-dev et peut-être aussi python3-pip et python3-setuptools qui étaient dans la procédure d’install des versions prédédentes.
Peut-etre aussi supprimer le venv existant.

Ca donne:

echo 20 > ${PROGRESS_FILE}
echo "Installation des dépendances apt"
sudo apt-get -y install python3-venv python3-dev python3-pip python3-setuptools
rm -rf ${DIRPATH}/venv
/usr/bin/python3 -m venv ${DIRPATH}/venv

echo 40 > ${PROGRESS_FILE}

Et si après ça, pip3 continue à ne pas exister dans le venv, il ne faut plus l’appeler.
Pour cela changer

${DIRPATH}/venv/bin/pip3 install xxx

en

${DIRPATH}/venv/bin/python3 -m pip install xxx

> ${DIRPATH}/venv/bin/pip3 install xxx
il y a plusieurs lignes comportant cela, je dirait que c’est celle là mais je n’en suis pas sûr…

> ${DIRPATH}/venv/bin/pip3 install pyvlx

Ça signifie qu’il faut remplacer TOUS les appels de pip3 par python3 -m pip

Et c’est uniquement si pip3 n’est pas créé dans le venv. Donc à faire après la création du venv en utilisant /usr/bin/python3 au lieu de python3

Votre pb n’est pas dans le plugin mais dans la cohabitation/mélange python 3.4 et 3.7 sur votre Atlas.
Reset usine à prévoir.