>
> 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.
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 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
> 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
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
>
> 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.