Page 5 sur 6
Re: [Python][TUTO] Bose Soundtouch Multiroom depuis domoticz
Publié : 03 déc. 2017, 08:28
par Chrominator
Turismo a écrit :
J'arrive sans problèmes à lancer le script "bose_all.py" directement en ligne de commande avec
Code : Tout sélectionner
python3 bose_all.py --master salon --volume 20 --preset 6 -s on
Sur la ligne de commande, normalement on indique pas l'interpréteur de commande.
Le système le fera tout seul grâce à la première ligne du script qui désigne justement ce qu'il faut employer.
La seule chose à faire et qui ne figure peut-être pas explicitement est de rendre exécutable le script :
Turismo a écrit :
la même commande avec python au lieu de python3 me renvoie vers un message d'erreur
Code : Tout sélectionner
pi@raspberrypi:~/domoticz/scripts/python$ python bose_all.py --master salon --volume 20 --preset 6 -s on
Traceback (most recent call last):
File "bose_all.py", line 25, in <module>
import requests
ImportError: No module named requests
Il te manque la bibliothèque requests dans l'environnement python 2.7 certainement, un
pourrait solutionner le pb (si la bibliothèque existe pour python 2.7) mais il vaut mieux utiliser le script avec Python3.
Turismo a écrit :
Par contre, impossible de lancer le bose depuis Domoticz, mais je n'ai pas de messages d'erreur non plus.
Code : Tout sélectionner
2017-12-03 02:03:53.800 User: Admin initiated a switch command (558/Bose test/On)
2017-12-03 02:03:54.032 Executing script: /home/pi/domoticz/scripts/exec.sh
Si le script bose_all.py n'est pas exécutable ça peut tout à fait produire ceci.
la script exec.h doit l'être lui aussi, sinon ça ne fait rien.
Re: [Python][TUTO] Bose Soundtouch Multiroom depuis domoticz
Publié : 03 déc. 2017, 10:57
par Turismo
Merci de ta réponse,
J'avais déjà rendu exécutables les deux scripts (j'avais oublié de le préciser). J'ai par contre essayé d'installer la bibliothèque requests, mais j'ai un message d'erreur comme quoi la bibliothèque est déjà installée
Code : Tout sélectionner
pi@raspberrypi:~$ pip install requests
Requirement already satisfied (use --upgrade to upgrade): requests in /usr/lib/python2.7/dist-packages
Cleaning up...
J'ai essayé la mise à jour des composants, mais pas plus de succès.
Code : Tout sélectionner
pi@raspberrypi:~/domoticz/scripts/python$ sudo pip install --upgrade requests
Downloading/unpacking requests from https://pypi.python.org/packages/49/df/50aa1999ab9bde74656c2919d9c0c085fd2b3775fd3eca826012bef76d8c/requests-2.18.4-py2.py3-none-any.whl#md5=eb9be71cc41fd73a51a7c9cd1adde5de
Downloading requests-2.18.4-py2.py3-none-any.whl (88kB): 88kB downloaded
Downloading/unpacking certifi>=2017.4.17 (from requests)
Downloading certifi-2017.11.5-py2.py3-none-any.whl (330kB): 330kB downloaded
Downloading/unpacking idna>=2.5,<2.7 (from requests)
Downloading idna-2.6-py2.py3-none-any.whl (56kB): 56kB downloaded
Downloading/unpacking chardet>=3.0.2,<3.1.0 (from requests)
Downloading chardet-3.0.4-py2.py3-none-any.whl (133kB): 133kB downloaded
Downloading/unpacking urllib3>=1.21.1,<1.23 (from requests)
Downloading urllib3-1.22-py2.py3-none-any.whl (132kB): 132kB downloaded
Installing collected packages: requests, certifi, idna, chardet, urllib3
Found existing installation: requests 2.4.3
Not uninstalling requests at /usr/lib/python2.7/dist-packages, owned by OS
Found existing installation: chardet 2.3.0
Not uninstalling chardet at /usr/lib/python2.7/dist-packages, owned by OS
Found existing installation: urllib3 1.9.1
Not uninstalling urllib3 at /usr/lib/python2.7/dist-packages, owned by OS
Successfully installed requests certifi idna chardet urllib3
Cleaning up...
Et enfin, lorsque je retente la commande, toujours le même message d'erreur
Code : Tout sélectionner
pi@raspberrypi:~/domoticz/scripts/python$ python bose_all.py --master salon --volume 20 --preset 6 -s on
Traceback (most recent call last):
File "bose_all.py", line 25, in <module>
import requests
ImportError: No module named requests
Re: [Python][TUTO] Bose Soundtouch Multiroom depuis domoticz
Publié : 03 déc. 2017, 11:39
par Chrominator
Turismo a écrit :
Code : Tout sélectionner
pi@raspberrypi:~$ pip install requests
Requirement already satisfied (use --upgrade to upgrade): requests in /usr/lib/python2.7/dist-packages
Cleaning up...
J'ai essayé la mise à jour des composants, mais pas plus de succès.
En faisant ça tu cherches à l'installer dans Python2.7, c'est dans le log.
Essaie plutôt la commande suivante :
Re: [Python][TUTO] Bose Soundtouch Multiroom depuis domoticz
Publié : 03 déc. 2017, 11:53
par Turismo
Je viens de tenter et j'ai encore les messages me disant que tout est installé
Code : Tout sélectionner
pi@raspberrypi:~$ sudo -H pip3 install requests
Requirement already satisfied: requests in /usr/local/lib/python3.6/site-packages
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.6/site-packages (from requests)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /usr/local/lib/python3.6/site-packages (from requests)
Requirement already satisfied: idna<2.7,>=2.5 in /usr/local/lib/python3.6/site-packages (from requests)
Requirement already satisfied: urllib3<1.23,>=1.21.1 in /usr/local/lib/python3.6/site-packages (from requests)
J'ai tenté une upgrade mais j'ai les mêmes messages que ceux au dessus.
Il ne m'est toujours pas possible de lancer le script via la commande
Code : Tout sélectionner
python bose_all.py --master salon --volume 20 --preset 6 -s on
Re: [Python][TUTO] Bose Soundtouch Multiroom depuis domoticz
Publié : 03 déc. 2017, 13:05
par Chrominator
Pas simple cette histoire...
Bon essayons de désinstaller requests dans l'environnement python3 :
Pour être sûrs :
Et ensuite on le remet avec le sudo -H :
Re: [Python][TUTO] Bose Soundtouch Multiroom depuis domoticz
Publié : 03 déc. 2017, 16:19
par Turismo
Au moins ca me rassure un peu, la solution n'était pas sous mon nez !
Chrominator a écrit :
Bon essayons de désinstaller requests dans l'environnement python3 :
Pour être sûrs :
La première étape a bien désinstallé requests
La deuxième (sudo-H) a confirmé qu'il n'y avait plus rien
Code : Tout sélectionner
pi@raspberrypi:~$ sudo -H pip3 uninstall requests
Cannot uninstall requirement requests, not installed
Chrominator a écrit :Et ensuite on le remet avec le sudo -H :
Installation sans problèmes
Code : Tout sélectionner
pi@raspberrypi:~$ sudo -H pip3 install requests
Collecting requests
Using cached requests-2.18.4-py2.py3-none-any.whl
Requirement already satisfied: urllib3<1.23,>=1.21.1 in /usr/local/lib/python3.6/site-packages (from requests)
Requirement already satisfied: idna<2.7,>=2.5 in /usr/local/lib/python3.6/site-packages (from requests)
Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.6/site-packages (from requests)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /usr/local/lib/python3.6/site-packages (from requests)
Installing collected packages: requests
Mais j'ai toujours la même erreur lors de l'éxecution du script
Code : Tout sélectionner
pi@raspberrypi:~/domoticz/scripts/python$ python bose_all.py --master salon --volume 20 --preset 6 -s on
Traceback (most recent call last):
File "bose_all.py", line 25, in <module>
import requests
ImportError: No module named requests
Re: [Python][TUTO] Bose Soundtouch Multiroom depuis domoticz
Publié : 03 déc. 2017, 16:50
par Chrominator
Turismo a écrit :
Mais j'ai toujours la même erreur lors de l'éxecution du script
Code : Tout sélectionner
pi@raspberrypi:~/domoticz/scripts/python$ python bose_all.py --master salon --volume 20 --preset 6 -s on
Traceback (most recent call last):
File "bose_all.py", line 25, in <module>
import requests
ImportError: No module named requests
Tu le lances avec python2.x quand tu fais précéder le nom du script du mot
python.
Laisse faire le système et lance
en te plaçant dans le répertoire où est bose_all.py.
Re: [Python][TUTO] Bose Soundtouch Multiroom depuis domoticz
Publié : 03 déc. 2017, 17:39
par Turismo
Je ne connaissais pas le format, mais j'ai la même erreur qui revient
Code : Tout sélectionner
pi@raspberrypi:~/domoticz/scripts/python$ ./bose_all.py --master salon --volume 20 --preset 6 -s on
Traceback (most recent call last):
File "./bose_all.py", line 25, in <module>
import requests
ImportError: No module named 'requests'
Re: [Python][TUTO] Bose Soundtouch Multiroom depuis domoticz
Publié : 03 déc. 2017, 20:27
par Chrominator
Bon il est évident que la bibliothèque requests n'est pas située là où Python3.x la cherche.
Je ne suis vraiment pas un spécialiste de Python, peut-être que ça vaudrait la peine de demander de t'aider sur ce sujet précis avec un nouveau post.
Fait un script python du genre :
Code : Tout sélectionner
#!/usr/bin/python3
# -*- coding: utf-8 -*-
import requests
print('Début et fin du programme')
Tu le rends exécutable par un chmod + x <nom du fichier> puis tu les lances par ./<nom du fichier>
Si ça marche ce serait bizarre, sinon quelqu'un essayera de t'aider.
Re: [Python][TUTO] Bose Soundtouch Multiroom depuis domoticz
Publié : 03 déc. 2017, 22:38
par Turismo
Le script ne se lance pas non plus.
J'ai lancé un nouveau sujet içi, dans tous les cas je ferais un petit point en compte rendu içi pour le cas où d'autres aient le même problème que moi.
https://easydomoticz.com/forum/viewtopi ... =10&t=5432
Merci de ton aide Chrominator !