lancer un sript python au demarrage
Modérateurs : Francois, Manfraid
lancer un sript python au demarrage
Bonjour,
Je manipule un servomoteur à partir d'une webserv et un script python. Le script python se trouve sous /home/pi.
Actuellement je lance le script python par la commande LX Terminal :
sudo python3 porte.py
J'aimerais lancer le script au démarrage du raspberrypi.
Je suis aller voir plusieurs tutos ou forum avant de vous écrire.
J' ai essayé par "sudo nano /etc/profile" en écrivant la commande " sudo python3 /home/pi/porte.py" à la fin.
J' ai essayé par "sudo nano /etc/rc.local" en écrivant la commande " sudo python3 /home/pi/porte.py" avant #Print the IP address.
Puis en le rendant executable par la commande "chmod" puis j' ai écrit "sudo nano /etc/rc.local" en écrivant la commande " sudo python3 /home/pi/porte.py" avant exit 0.
Ca ne fonctionne toujours pas.
Merci pour votre aide
Je manipule un servomoteur à partir d'une webserv et un script python. Le script python se trouve sous /home/pi.
Actuellement je lance le script python par la commande LX Terminal :
sudo python3 porte.py
J'aimerais lancer le script au démarrage du raspberrypi.
Je suis aller voir plusieurs tutos ou forum avant de vous écrire.
J' ai essayé par "sudo nano /etc/profile" en écrivant la commande " sudo python3 /home/pi/porte.py" à la fin.
J' ai essayé par "sudo nano /etc/rc.local" en écrivant la commande " sudo python3 /home/pi/porte.py" avant #Print the IP address.
Puis en le rendant executable par la commande "chmod" puis j' ai écrit "sudo nano /etc/rc.local" en écrivant la commande " sudo python3 /home/pi/porte.py" avant exit 0.
Ca ne fonctionne toujours pas.
Merci pour votre aide
Re: lancer un sript python au demarrage
Bonjour,
En mettant dans crontab @reboot sudo /home/pi/porte.py
avec au début de ton script
#!/usr/bin/python3
# -*- coding: utf-8 -*-
En mettant dans crontab @reboot sudo /home/pi/porte.py
avec au début de ton script
#!/usr/bin/python3
# -*- coding: utf-8 -*-
Re: lancer un sript python au demarrage
Merci pour la réponse rapide.
Pour les commandes en début de script, c'est ok.
Par accéder à crontab, je tape "sudo nano /etc/crontab" et je mets "@reboot sudo /home/pi/porte.py" en dernière ligne.
si c'est oui, ça ne fonctionne toujours pas
Pour les commandes en début de script, c'est ok.
Par accéder à crontab, je tape "sudo nano /etc/crontab" et je mets "@reboot sudo /home/pi/porte.py" en dernière ligne.
si c'est oui, ça ne fonctionne toujours pas
-
- Raspinaute
- Messages : 970
- Enregistré le : dim. 28 déc. 2014 15:28
- Localisation : Le long de la côte, au dessus du pays des bigoudennes, aïe
Re: lancer un sript python au demarrage
Bonjour,
Pour être sûr, les chemins des commandes du script sont-ils absolus ?
Question que je me pose : Puisque vous écrivez dans le crontab de sudo, est-il encore utile de lancer porte.py avec sudo ?
Pour être sûr, les chemins des commandes du script sont-ils absolus ?
Question que je me pose : Puisque vous écrivez dans le crontab de sudo, est-il encore utile de lancer porte.py avec sudo ?
[Pour bien commencer] Pour les nouveaux acquéreurs de Raspberry Pi (index de liens utiles)
Awesome Raspberry Pi
Awesome Raspberry Pi
Re: lancer un sript python au demarrage
Bonjour
Pour modifier le crontab c'est plus sûr d'utiliser
"crontab -e" et pour voir sans modification "crontab -l"
Pour modifier le crontab c'est plus sûr d'utiliser
"crontab -e" et pour voir sans modification "crontab -l"
Re: lancer un sript python au demarrage
encore merci pour les réponses.
juste une petite question :
Dans /home/pi, quand je double clique sur ouvrir porte.py, il y a une fenêtre qui s'ouvre avec plusieurs possibilités.
Lorsque je fais "éxécuter" , il ne se passe rien, ou alors je fais "lancer dans terminal" , la fenêtre LX Terminal s'ouvre et se referme aussitôt.
Est ce que le problème ne viendrait pas de là?
juste une petite question :
Dans /home/pi, quand je double clique sur ouvrir porte.py, il y a une fenêtre qui s'ouvre avec plusieurs possibilités.
Lorsque je fais "éxécuter" , il ne se passe rien, ou alors je fais "lancer dans terminal" , la fenêtre LX Terminal s'ouvre et se referme aussitôt.
Est ce que le problème ne viendrait pas de là?
-
- Administrateur
- Messages : 3233
- Enregistré le : mer. 17 sept. 2014 18:12
- Localisation : Seine et Marne
Re: lancer un sript python au demarrage
Bonjour,
"sudo nano /etc/crontab" est effectivement très risqué, il faut mieux utiliser "sudo crontab -e"
Sudo permet de configurer la crontab de root, donc pas besoin de "sudo" dans le script.
Il faut par contre donner le chemin au complet
"sudo nano /etc/crontab" est effectivement très risqué, il faut mieux utiliser "sudo crontab -e"
Sudo permet de configurer la crontab de root, donc pas besoin de "sudo" dans le script.
Il faut par contre donner le chemin au complet
Passionné de Raspberry, Arduino, ESP8266, ESP32, et objets connectés :
Spécial débutant, concevez vous-même votre domotique DIY : https://www.youtube.com/c/DomoticDIY
Conception d'une station météo DIY, et envoi des infos à votre Domotique.
Spécial débutant, concevez vous-même votre domotique DIY : https://www.youtube.com/c/DomoticDIY
Conception d'une station météo DIY, et envoi des infos à votre Domotique.
Re: lancer un sript python au demarrage
Bonjour,
Avant de mettre l'exécution de ton script dans un crontab, teste le en ligne de commande, tu auras alors des informations qui te seront utiles.
Si le script "porte.py" attend des réponses, pour l'exécuter en ligne de commande utilise la commande "yes" .
Avant de mettre l'exécution de ton script dans un crontab, teste le en ligne de commande, tu auras alors des informations qui te seront utiles.
Si le script "porte.py" attend des réponses, pour l'exécuter en ligne de commande utilise la commande "yes" .
Re: lancer un sript python au demarrage
Bonsoir à tous,
juste pour vous donner des nouvelles,
j'ai enlevé la commande "@reboot /home/pi/porte.py" de "sudo nano /etc/crontab".
Je l'ai mis dans "sudo contrab -e". D'ailleurs, il n y a que cette ligne de commande.
Autre chose, dans LXterminal, lorsque je tape "sudo /home/pi/porte.py" le script se lance bien. Donc je ne pense pas que ça vienne du chemin.
Par contre comme je le disais plus tôt, lorsque je double-clique sur le script "porte.py" une fenêtre s' ouvre avec plusieurs choix.
Lorsque je fais "éxécuter" , il ne se passe rien, ou alors je fais "lancer dans terminal" , la fenêtre LX Terminal s'ouvre et se referme aussitôt.
Le probleme ne viendrait pas de là??
Pour le rendre le script "exécutable", j'ai tapé la commande "chmod +x porte.py"
En tout cas merci pour toute l'aide que vous m' apportez!
juste pour vous donner des nouvelles,
j'ai enlevé la commande "@reboot /home/pi/porte.py" de "sudo nano /etc/crontab".
Je l'ai mis dans "sudo contrab -e". D'ailleurs, il n y a que cette ligne de commande.
Autre chose, dans LXterminal, lorsque je tape "sudo /home/pi/porte.py" le script se lance bien. Donc je ne pense pas que ça vienne du chemin.
Par contre comme je le disais plus tôt, lorsque je double-clique sur le script "porte.py" une fenêtre s' ouvre avec plusieurs choix.
Lorsque je fais "éxécuter" , il ne se passe rien, ou alors je fais "lancer dans terminal" , la fenêtre LX Terminal s'ouvre et se referme aussitôt.
Le probleme ne viendrait pas de là??
Pour le rendre le script "exécutable", j'ai tapé la commande "chmod +x porte.py"
En tout cas merci pour toute l'aide que vous m' apportez!
-
- Administrateur
- Messages : 3233
- Enregistré le : mer. 17 sept. 2014 18:12
- Localisation : Seine et Marne
Re: lancer un sript python au demarrage
lorsque tu fais "sudo /home/pi/porte.py" le script se lance bien, mais il affiche quoi ?
Lorsque tu le lances tu es dans un terminal.
Lorsque tu double-clique dessus, il n'y a pas de terminal.
Lorsque Cron le lance, il n'y a pas non plus de terminal.
c'est donc trois environnements totalement différent.
Le script doit pouvoir s'exécuter dans l'environnement auquel tu le lance.
La question est donc, lorsque tu le lance par "sudo /home/pi/porte.py", est-ce que quelque chose s'affiche ?
Que fait ce script python ?
Lorsque tu le lances tu es dans un terminal.
Lorsque tu double-clique dessus, il n'y a pas de terminal.
Lorsque Cron le lance, il n'y a pas non plus de terminal.
c'est donc trois environnements totalement différent.
Le script doit pouvoir s'exécuter dans l'environnement auquel tu le lance.
La question est donc, lorsque tu le lance par "sudo /home/pi/porte.py", est-ce que quelque chose s'affiche ?
Que fait ce script python ?
Passionné de Raspberry, Arduino, ESP8266, ESP32, et objets connectés :
Spécial débutant, concevez vous-même votre domotique DIY : https://www.youtube.com/c/DomoticDIY
Conception d'une station météo DIY, et envoi des infos à votre Domotique.
Spécial débutant, concevez vous-même votre domotique DIY : https://www.youtube.com/c/DomoticDIY
Conception d'une station météo DIY, et envoi des infos à votre Domotique.