Debian Debian-France Debian-Facile Debian-fr.org Debian-fr.xyz Debian ? Communautés

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 21: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 21:46:32

Philou92
Membre
Lieu : Hauts de Seine
Distrib. : Debian bullseye (testing)
Noyau : Linux 5.10.0-5-amd64
(G)UI : LightDM et Xfce4.16
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 ?

Chaque siècle fera son œuvre, aujourd’hui civique, demain humaine. Aujourd’hui la question du droit, demain la question du salaire. Salaire et droit, au fond c’est le même mot. L’homme ne vit pas pour n’être point payé ; Dieu en donnant la vie contracte une dette ; le droit, c’est le salaire inné ; le salaire, c’est le droit acquis.
             Quatrevingt-treize
             Victor Hugo.

Hors ligne

#3 17-02-2021 21: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 22:46:37

Philou92
Membre
Lieu : Hauts de Seine
Distrib. : Debian bullseye (testing)
Noyau : Linux 5.10.0-5-amd64
(G)UI : LightDM et Xfce4.16
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


Chaque siècle fera son œuvre, aujourd’hui civique, demain humaine. Aujourd’hui la question du droit, demain la question du salaire. Salaire et droit, au fond c’est le même mot. L’homme ne vit pas pour n’être point payé ; Dieu en donnant la vie contracte une dette ; le droit, c’est le salaire inné ; le salaire, c’est le droit acquis.
             Quatrevingt-treize
             Victor Hugo.

Hors ligne

#5 17-02-2021 23: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 18-02-2021 00:15:43

Philou92
Membre
Lieu : Hauts de Seine
Distrib. : Debian bullseye (testing)
Noyau : Linux 5.10.0-5-amd64
(G)UI : LightDM et Xfce4.16
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


Chaque siècle fera son œuvre, aujourd’hui civique, demain humaine. Aujourd’hui la question du droit, demain la question du salaire. Salaire et droit, au fond c’est le même mot. L’homme ne vit pas pour n’être point payé ; Dieu en donnant la vie contracte une dette ; le droit, c’est le salaire inné ; le salaire, c’est le droit acquis.
             Quatrevingt-treize
             Victor Hugo.

Hors ligne

Pied de page des forums