logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 17-02-2021 20:10:18

Masar
Membre
Inscription : 17-02-2021

Crontab et script python

Bonjour à tous,

Je cherche à lancer un script python3 au démarrage de ma Rpi qui utilise la librairie openpyxl via Crontab, mais je peux voir dans le fichier log qu'il ne reconnait pas la librairie (ModuleNotFoundError)...  Est ce que les librairies sont répertoriées par python3 après la lecture de CronTab ? Comment puis-je faire ?

MonFichier.sh:
cd /home/pi/Desktop/programme_python/
python3 Remplissage_tableau_xl.py

NB: Quand je lance ce fichier avec la commande sh MonFichier.sh : Pas d'erreur

La commande dans crontab -e:
@reboot sh /home/pi/Desktop/MonFichier.sh > /home/pi/Desktop/logs/log.txt 2>&1

Merci pour l'aide!

Hors ligne

#2 17-02-2021 20:46:32

Philou92
Adhérent(e)
Lieu : Hauts de Seine
Distrib. : Debian bookworm
Noyau : Linux 6.1.0-13-amd64
(G)UI : LightDM et Xfce4.18
Inscription : 29-04-2015

Re : Crontab et script python

A priori la crontab ne s’exécute pas dans le bon répertoire.
Le fichier /home/pi/Desktop/logs/log.txt doit contenir explicitement le message d’erreur.
Quel est son contenu ?

Tousse antique Ovide !

Hors ligne

#3 17-02-2021 20:59:09

Masar
Membre
Inscription : 17-02-2021

Re : Crontab et script python

Merci Philou92,

Le message d'erreur est ModuleNotFound, il reconnait pas l'import du module openpyxl... Alors que pas de problème quand je lance le fichier MonFichier.sh, aucun problème !

Hors ligne

#4 17-02-2021 21:46:37

Philou92
Adhérent(e)
Lieu : Hauts de Seine
Distrib. : Debian bookworm
Noyau : Linux 6.1.0-13-amd64
(G)UI : LightDM et Xfce4.18
Inscription : 29-04-2015

Re : Crontab et script python

Je mets systématiquement ces deux lignes en entête de mes scripts exécutés par cron
MonFichier.sh:


#!/bin/sh
set -e
cd /home/pi/Desktop/programme_python/
python3 Remplissage_tableau_xl.py



Ensuite essayes en modifiant ta crontab de la façon suivante :

@reboot cd /home/pi/Desktop/ && MonFichier.sh > /home/pi/Desktop/logs/log.txt 2>&1


Tousse antique Ovide !

Hors ligne

#5 17-02-2021 22:55:30

Masar
Membre
Inscription : 17-02-2021

Re : Crontab et script python

merci Philou92,

Quand je fais ça:

#!/bin/sh
set -e
cd /home/pi/Desktop/programme_python/
python3 Remplissage_tableau_xl.py


bloc à supprimer si la commande n’affiche rien



Il n'arrive toujours pas à importer ma librairie

et quand je change le crontab pour:

@reboot cd /home/pi/Desktop/ && MonFichier.sh > /home/pi/Desktop/logs/log.txt 2>&1


bloc à supprimer si la commande n’affiche rien



Il ne trouve pas le script MonFichier.sh...

Est ce que les librairies python telle que openpyxl ne seraient pas chargées après les tâches lancées par crontab ? N'y a t-il pas un moyen de lancer cette tache après que les librairies ne soient chargées ?

Hors ligne

#6 17-02-2021 23:15:43

Philou92
Adhérent(e)
Lieu : Hauts de Seine
Distrib. : Debian bookworm
Noyau : Linux 6.1.0-13-amd64
(G)UI : LightDM et Xfce4.18
Inscription : 29-04-2015

Re : Crontab et script python

Autre solution. Déplacer MonFichier.sh dans le répertoire /home/pi/Desktop/programme_python/
MonFichier.sh devient :

#!/bin/sh
set -e
/home/pi/Desktop/programme_python/python3 Remplissage_tableau_xl.py



Et crontab :

@reboot cd /home/pi/Desktop/programme_python && MonFichier.sh > /home/pi/Desktop/programme_python/logs/log.txt 2>&1


Tousse antique Ovide !

Hors ligne

Pied de page des forums