Problème importation module python

Vous avez des questions concernant les scripts dans Domoticz, posez vos questions ici, quelque soit le langage nous tenterons des réponses pertinentes ...
Répondre
cortexlegeni
Messages : 2
Enregistré le : 07 nov. 2018, 21:36

Problème importation module python

Message par cortexlegeni » 07 nov. 2018, 21:52

Bonjour,

J'ai fais quelques recherches sur le forum mais je n'ai point trouver la réponse à me question ou tout du moins un problème similaire.
Je cherche à pouvoir couper de façon automatique le wifi de mes différents point d'accès la nuit et lorsque je ne suis pas à la maison dans le but à la fois d'éviter les ondes à mes enfants mais aussi de limiter les possibilités de piratage en mon absence.
Je suis donc en train de tester à l'aide d'un dummy switch auquel j'ai rattaché un script seulement j'ai besoin d'utiliser le module paramiko pour accéder au point d'accès en SSH et pas moyen de faire reconnaître ce dernier de façon convenable.

AU départ, j'avais effectué des test en direct et mon script passait bien quand je le lançais à la main en ligne de commande, mais rien à faire dans domoticz. J'ai compris que le problème venait au départ de l'installation des modules qui étaient fait sous python 2.7 et non pas python3.

J'ai donc installé paramiko sous python3, et cela fonctionne donc quand je lance mon script via : sudo python3 mon-script.py, idem via sudo python3.5 mon-script.py et pourtant j'ai toujours ces erreurs dans le log :

Code : Tout sélectionner

2018-11-07 21:48:44.306 Error: EventSystem: Failed to execute python event script "/home/adm-ser/domoticz/scripts/python/ocript_device_Wifi-tes.py"
2018-11-07 21:48:44.306 Error: EventSystem: Traceback (most recent call last):
2018-11-07 21:48:44.306 Error: EventSystem: File "/home/adm-ser/domoticz/scripts/python/ocript_device_Wifi-tes.py", line 3, in <module>
2018-11-07 21:48:44.306 Error: EventSystem: import sys, paramiko
2018-11-07 21:48:44.306 Error: EventSystem: File "/usr/lib/python3.5/paramiko/__init__.py", line 22, in <module>
2018-11-07 21:48:44.306 Error: EventSystem: from paramiko.transport import SecurityOptions, Transport
2018-11-07 21:48:44.306 Error: EventSystem: File "/usr/lib/python3.5/paramiko/transport.py", line 89, in <module>
2018-11-07 21:48:44.306 Error: EventSystem: from paramiko.dsskey import DSSKey
2018-11-07 21:48:44.306 Error: EventSystem: File "/usr/lib/python3.5/paramiko/dsskey.py", line 36, in <module>
2018-11-07 21:48:44.306 Error: EventSystem: from paramiko.ber import BER, BERException
2018-11-07 21:48:44.306 Error: EventSystem: File "/usr/lib/python3.5/paramiko/ber.py", line 21, in <module>
2018-11-07 21:48:44.306 Error: EventSystem: import paramiko.util as util
2018-11-07 21:48:44.306 Error: EventSystem: AttributeError: module 'paramiko' has no attribute 'util'
2018-11-07 21:48:44.306 Error: EventSystem: Error in sys.excepthook:
2018-11-07 21:48:44.306 Error: EventSystem: Traceback (most recent call last):
2018-11-07 21:48:44.306 Error: EventSystem: File "/usr/lib/python3/dist-packages/apport_python_hook.py", line 63, in apport_excepthook
2018-11-07 21:48:44.306 Error: EventSystem: from apport.fileutils import likely_packaged, get_recent_crashes
2018-11-07 21:48:44.306 Error: EventSystem: ImportError: No module named 'apport'
2018-11-07 21:48:44.306 Error: EventSystem:
2018-11-07 21:48:44.306 Error: EventSystem: Original exception was:
2018-11-07 21:48:44.306 Error: EventSystem: Traceback (most recent call last):
2018-11-07 21:48:44.306 Error: EventSystem: File "/home/adm-ser/domoticz/scripts/python/ocript_device_Wifi-tes.py", line 3, in <module>
2018-11-07 21:48:44.306 Error: EventSystem: import sys, paramiko
2018-11-07 21:48:44.306 Error: EventSystem: File "/usr/lib/python3.5/paramiko/__init__.py", line 22, in <module>
2018-11-07 21:48:44.306 Error: EventSystem: from paramiko.transport import SecurityOptions, Transport
2018-11-07 21:48:44.306 Error: EventSystem: File "/usr/lib/python3.5/paramiko/transport.py", line 89, in <module>
2018-11-07 21:48:44.306 Error: EventSystem: from paramiko.dsskey import DSSKey
2018-11-07 21:48:44.306 Error: EventSystem: File "/usr/lib/python3.5/paramiko/dsskey.py", line 36, in <module>
2018-11-07 21:48:44.306 Error: EventSystem: from paramiko.ber import BER, BERException
2018-11-07 21:48:44.306 Error: EventSystem: File "/usr/lib/python3.5/paramiko/ber.py", line 21, in <module>
2018-11-07 21:48:44.306 Error: EventSystem: import paramiko.util as util
2018-11-07 21:48:44.306 Error: EventSystem: AttributeError: module 'paramiko' has no attribute 'util'
avant j'avais d'autres erreurs mais j'ai copier pas mal de modules de /usr/local/lib/python3.5/dist-packages/ vers /usr/lib/python3.5/
(les modules copiés sont paramiko, cryptografy, six.py, asn1crypto), mais j'ai l'impression que cela va être sans fin et j'espère qu'il existe une solution plus "basique".

Voilà mon problème, je suis ouvert à toute suggestion.

Cordialement,
Cortex

Disable adblock

This site is supported by ads and donations.
If you see this text you are blocking our ads.
Please consider a Donation to support the site.


cortexlegeni
Messages : 2
Enregistré le : 07 nov. 2018, 21:36

Re: Problème importation module python

Message par cortexlegeni » 08 nov. 2018, 00:41

re-bonsoir,

j'ai trouvé un contournement pas très catholique mais cela fonctionne, j'aimerai cependant trouver comment faire autrement.

Pour le moment, je fais un script fictif qui est lancé par domoticz et qui lui relance mon script avec paramiko via l'appel à un call de python3.5 . C'est très bourrin mais cela à le mérite de fonctionner, je ne vois pas pourquoi dans cette situation les modules sont biens chargés alors qu'en direct ce n'est pas le cas.
Quel est l'utilisateur qui exécute les scripts dans domoticz ? Et quelle version de python utilise-t-il quand plusieurs sont disponibles, car je pensais qu'il prenais la 3.5, mais en direct elle fonctionne avec le root et même sans alors je ne vois vraiment pas d'ou vient le problème.

Bonne nuit.

Répondre