BadWolf42 / jMQTT

Jeedom plugin to interface as a client with an MQTT broker.
19 stars 13 forks source link

Problème de dépendance manquante dans le venv #209

Closed kalon33 closed 2 years ago

kalon33 commented 2 years ago

J'ai une erreur de dépendance manquante dans le venv, et la réinstallation des dépendances n'a aucun impact positif dessus. En debug, aucune info utile :

JMQTT_dep:

======================================================================
== 04/08/2022 12:11:35 == Dependencies installation for jMQTT
======================================================================
[  0% ] : Checking parameters...
== Should install Mosquitto: 0
[  4% ] : Checking parameters : [  OK  ]
[  5% ] : Synchronize the package index...
[ 19% ] : Synchronize the package index : [  OK  ]
[ 20% ] : Install Composer...
[ 29% ] : Install Composer : [  OK  ]
[ 30% ] : Install JsonPath-PHP library...
[ 39% ] : Install JsonPath-PHP library : [  OK  ]
[ 40% ] : Remove Composer...
[ 49% ] : Remove Composer : [  OK  ]
[ 50% ] : Install python3 venv and pip debian packages...
[ 59% ] : Install python3 venv and pip debian packages : [  OK  ]
[ 60% ] : Create a python3 Virtual Environment...
[ 69% ] : Create a python3 Virtual Environment : [  OK  ]
[ 70% ] : Install required python3 libraries in venv...
[ 89% ] : Install required python3 libraries in venv : [  OK  ]
[ 90% ] : Run post_dependancy_install function...
[ 99% ] : Run post_dependancy_install function : [  OK  ]
[100% ] : Finished !
======================================================================
== OK == Installation Successful
======================================================================

JMQTT:

[2022-08-04 12:14:24]DEBUG : Une bibliothèque Python requise est manquante dans le venv, relancez les dépendances
[2022-08-04 12:14:25]DEBUG : Une bibliothèque Python requise est manquante dans le venv, relancez les dépendances
[2022-08-04 12:14:27]DEBUG : Une bibliothèque Python requise est manquante dans le venv, relancez les dépendances
[2022-08-04 12:14:28]DEBUG : Une bibliothèque Python requise est manquante dans le venv, relancez les dépendances
[2022-08-04 12:14:30]DEBUG : Une bibliothèque Python requise est manquante dans le venv, relancez les dépendances
[2022-08-04 12:14:31]DEBUG : Une bibliothèque Python requise est manquante dans le venv, relancez les dépendances
[2022-08-04 12:14:33]DEBUG : Une bibliothèque Python requise est manquante dans le venv, relancez les dépendances

Mosquitto est installé au niveau du système, car il me sert pour d'autres choses.

Merci d'avance pour votre aide. Cordialement.

kalon33 commented 2 years ago

Je suis en Jeedom 4.2.20, plugin JMQTT 2022-07-25 01:01:17.

BadWolf42 commented 2 years ago

Hello @kalon33,

Ce problème est survenu a quelle occasion ? (Mise à jour ? Simple réinstallation des dépendances ?)

Peux-tu me dire sur quel système es-tu et quelle est ta version de debian stp ? Si tu es sur OdroidN2 (ou equivalent) as-tu vu ce post ?

Sinon, il me faudra probablement le résultat de ces commandes suivantes :

sudo apt update && apt list --upgradable

apt list --installed | grep env
pip3 list --no-color | grep env
apt list --installed
pip3 list --no-color

sudo -u www-data /var/www/html/plugins/jMQTT/resources/jmqttd/venv/bin/pip3 freeze --no-color -r /var/www/html/plugins/jMQTT/resources/python-requirements/requirements.txt > /dev/null
sudo -u www-data /var/www/html/plugins/jMQTT/resources/jmqttd/venv/bin/pip3 freeze --no-color -r /var/www/html/plugins/jMQTT/resources/python-requirements/requirements.txt

Merci, Bad

kalon33 commented 2 years ago

Hello @BadWolf42 ,

Alors je suis sur Ubuntu 18.04LTS (contraint par une partie de ce qui tourne sur la machine), sur une architecture "amd64" (un Intel Xeon). Ma version de Python3 par défaut, également utilisée par pip3, est Python 3.7.5 (j'ai également les 3.6 et 3.8 installées sur la machine).

$ sudo apt update && apt list --upgradable
Réception de :1 https://download.docker.com/linux/ubuntu bionic InRelease [64,4 kB]
Atteint :2 http://archive.ubuntu.com/ubuntu bionic InRelease                                                                                                                                              
Atteint :3 https://deb.nodesource.com/node_14.x bionic InRelease                                                                                                                                          
Atteint :4 http://phoscon.de/apt/deconz bionic InRelease                                                                                                                                                  
Réception de :5 http://archive.ubuntu.com/ubuntu bionic-updates InRelease [88,7 kB]                                                                                                                       
Réception de :7 http://archive.ubuntu.com/ubuntu bionic-backports InRelease [74,6 kB]                                                                                                                     
Ign :8 https://apt.tvheadend.org/stable bionic InRelease                                                                                                                                                  
Atteint :9 https://downloads.mariadb.com/MariaDB/mariadb-10.5/repo/ubuntu bionic InRelease                                                                                                                
Réception de :10 http://archive.ubuntu.com/ubuntu bionic-security InRelease [88,7 kB]                                                                                                                     
Atteint :11 https://apt.tvheadend.org/stable bionic Release                                                                                                                                               
Atteint :6 https://downloads.mariadb.com/Tools/ubuntu bionic InRelease                                                                                                                                    
Atteint :12 https://esm.ubuntu.com/infra/ubuntu bionic-infra-security InRelease                                                                                                                 
Atteint :13 https://esm.ubuntu.com/infra/ubuntu bionic-infra-updates InRelease                                                                                             
Réception de :14 https://dlm.mariadb.com/repo/maxscale/latest/apt bionic InRelease [6 385 B]                                                                               
Atteint :16 https://packagecloud.io/crowdsec/crowdsec/ubuntu bionic InRelease                                                                  
323 ko réceptionnés en 1s (246 ko/s)
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances       
Lecture des informations d'état... Fait
Tous les paquets sont à jour.
En train de lister... Fait
$ apt list --installed | grep env
python3-venv/bionic-updates,now 3.6.7-1~18.04 amd64  [installé]
python3.6-venv/bionic-updates,bionic-security,now 3.6.9-1~18.04ubuntu1.8 amd64  [installé, automatique]
python3.7-venv/bionic-updates,bionic-security,now 3.7.5-2ubuntu1~18.04.2 amd64  [installé]
python3.8-venv/bionic-updates,bionic-security,now 3.8.0-3ubuntu1~18.04.2 amd64  [installé]

$ pip3 list --no-color
WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.
Package                Version
---------------------- -------------------
aiohttp                3.8.1
aiosignal              1.2.0
aiosqlite              0.17.0
android-backup         0.2.0
appdirs                1.4.4
asn1crypto             0.24.0
async-timeout          4.0.2
asynctest              0.13.0
attrs                  21.4.0
Automat                0.6.0
beautifulsoup4         4.9.3
bellows                0.30.0
bluepy                 1.3.0
bs4                    0.0.1
casttube               0.2.1
certifi                2022.5.18.1
cffi                   1.15.0
chardet                4.0.0
charset-normalizer     2.0.12
click                  8.1.3
click-log              0.4.0
colorama               0.3.7
coloredlogs            15.0.1
command-not-found      0.3
configobj              5.0.6
constantly             15.1.0
construct              2.10.68
crccheck               1.1
croniter               1.3.4
cryptography           37.0.2
Cython                 0.29.30
defusedxml             0.7.1
distro-info            0.18ubuntu0.18.04.1
enum-compat            0.0.3
enum34                 1.1.10
et-xmlfile             1.0.1
fail2ban               0.10.2
frozenlist             1.3.0
future                 0.18.2
httplib2               0.11.3
humanfriendly          10.0
hyperlink              17.3.1
idna                   3.3
ifaddr                 0.1.7
importlib-metadata     4.11.4
importlib-resources    5.7.1
incremental            16.10.1
iotop                  0.6
jdcal                  1.4.1
jsonschema             4.6.0
keyring                10.6.0
keyrings.alt           3.0
language-selector      0.1
Louie                  2.0
multidict              6.0.2
natsort                8.0.0
netifaces              0.11.0
nose                   1.3.7
nose-html              1.1
numpy                  1.20.2
olefile                0.45.1
openpyxl               2.6.3
paho-mqtt              1.6.1
PAM                    0.4.2
pexpect                4.2.1
Pillow                 8.2.0
pip                    22.2.2
progressbar            2.3
protobuf               3.17.1
pure-pcapy3            1.0.1
pyasn1                 0.4.2
pyasn1-modules         0.2.1
PyBluez                0.23
pycparser              2.21
pycrypto               2.6.1
pycryptodome           3.14.1
pygazpar               1.1.4
PyGObject              3.26.1
pyinotify              0.9.6
pyOpenSSL              17.5.0
pyrsistent             0.18.1
pyserial               3.5
pyserial-asyncio       0.6
pysqlite3-binary       0.4.6.post2
python-apt             1.6.5+ubuntu0.7
python-dateutil        2.8.2
python-debian          0.1.32
python-miio            0.5.11
pytz                   2022.1
pyudev                 0.23.2
pyusb                  1.2.1
pyxattr                0.6.0
pyxdg                  0.25
PyYAML                 6.0
requests               2.27.1
requests-unixsocket    0.1.5
SecretStorage          2.3.1
selenium               3.141.0
service-identity       16.0.0
setuptools             62.3.2
six                    1.16.0
sos                    4.3
soupsieve              2.2.1
ssh-import-id          5.7
systemd-python         234
tornado                6.1
tqdm                   4.64.0
Twisted                17.9.0
typing_extensions      4.2.0
ubuntu-advantage-tools 27.9
ufw                    0.36
unattended-upgrades    0.1
urllib3                1.26.9
urwid                  2.1.2
voluptuous             0.13.1
websocket-client       1.3.1
wheel                  0.37.1
xmodem                 0.4.6
yarl                   1.7.2
yeelight               0.7.10
youtube-dl             2021.12.17
zeroconf               0.38.4
zha-quirks             0.0.75
zigpy                  0.46.0
zigpy-cc               0.5.2
zigpy-deconz           0.16.0
zigpy-xbee             0.14.0
zigpy-zigate           0.8.0
zigpy-znp              0.7.0
zipp                   3.8.0
zope.interface         4.3.2

OK, en lançant les deux dernières commandes, je me suis rendu compte d'un potentiel souci, car le --no-color ne passait pas : le pip3 du venv était en 9.0.1.

$ sudo -u www-data /var/www/html/plugins/jMQTT/resources/jmqttd/venv/bin/pip3 freeze --no-color -r /var/www/html/plugins/jMQTT/resources/python-requirements/requirements.txt > /dev/null

Usage:   
  pip freeze [options]

no such option: --no-color

Je l'ai mis à jour à la dernière version :

$ sudo -u www-data /var/www/html/plugins/jMQTT/resources/jmqttd/venv/bin/pip3 install pip --upgrade
Collecting pip
  Downloading https://files.pythonhosted.org/packages/1f/2c/d9626f045e7b49a6225c6b09257861f24da78f4e5f23af2ddbdf852c99b8/pip-22.2.2-py3-none-any.whl (2.0MB)
    100% |████████████████████████████████| 2.0MB 839kB/s 
Installing collected packages: pip
  Found existing installation: pip 9.0.1
    Uninstalling pip-9.0.1:
      Successfully uninstalled pip-9.0.1
Successfully installed pip-22.2.2

Ai exécuté tes deux dernières commandes pour l'installation et la liste des dépendances :

$ sudo -u www-data /var/www/html/plugins/jMQTT/resources/jmqttd/venv/bin/pip3 freeze --no-color -r /var/www/html/plugins/jMQTT/resources/python-requirements/requirements.txt > /dev/null

$ sudo -u www-data /var/www/html/plugins/jMQTT/resources/jmqttd/venv/bin/pip3 freeze --no-color -r /var/www/html/plugins/jMQTT/resources/python-requirements/requirements.txt

paho-mqtt==1.6.1
requests==2.27.1
websocket-client==1.3.2
## The following requirements were added by pip freeze:
certifi==2022.6.15
charset-normalizer==2.0.12
idna==3.3
pkg_resources==0.0.0
urllib3==1.26.9

Et ça fonctionne ! Merci pour m'avoir orienté vers la solution !

kalon33 commented 2 years ago

Normal que le log n'ait pas été plus verbeux par contre ?

BadWolf42 commented 2 years ago

Mais de rien, ravi pour toi 🤟

Normal que le log n'ait pas été plus verbeux par contre ?

En effet, c'est un axe d'amélioration 😅