Bonjour à tous,
Je suis sur windows et j'aimerai lancer mon script python automatiquement. Cependant quand je sélectionne le script python à lancer, lorsqu'à lieue la tâche ce dernier ne se lance pas. Avez vous une idée ? Merci de votre aide
Bonjour à tous,
Je suis sur windows et j'aimerai lancer mon script python automatiquement. Cependant quand je sélectionne le script python à lancer, lorsqu'à lieue la tâche ce dernier ne se lance pas. Avez vous une idée ? Merci de votre aide
Bonjour,
Et Python est bien associer aux fichiers .py/pyw ? C'est à dire que si vous faite un double clic sur votre script celui ci se lance ?
@+
Euh non... Au départ une console s'ouvrait et se fermait très rapidemment mais le script ne s'éxécutait pas. Mais maintenant ils me propose avec quoi je veux l'ouvrir
Ceci dit l'association des fichiers dépendant de la session il serait sans doute bien de mettre l’exécutable python avec pour argument votre script dans la tache planifiée. Soit C:\Pythonxx\python.exe <chemin>\votrescript.py.
En fait quand je lance à la main en cliquant sur le script ça marche. Mais quand je lance le script via la tâche planifiée ça lance seulement pendant même pas une seconde puis ça quitte...
Comment faire sur windows seven ?
Je lance un programme (python.exe) avec comme argument le chemin de mon script ? J'ai essayé ça mais ça lance puis referme immédiatement la console.
Vous devez avoir python d'installer dans un répertoire c:\pythonxx ou xx est la version. Disons Python 3.2 donc un chemin vers python exe qui est c:\python32\python.exe.
Votre script, disons foo.py, doit être dans un répertoire, disons c:\ pour l'exemple. Cela donne c:\foo.py.
Lorsque vous créez votre tache planifiée au lieu de parcourir pour trouver le programme a exécuter pour mettez directement c:\python32\python.exe c:\foo.py
Je viens de le faire et comme précédemment ça lance puis arrête immédiatement le script.
C'est qu'il y a une erreur autre pars.
Commencez par faire un fichier .bat (exemple monscript.bat) dans lequel vous mettez votre ligne de commande puis une ligne avec pause. Exemple (la première ligne est a remplacer par la votre)
monscript.bat
Puis planifiez monscript.bat (via parcourir)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 c:\python32\python.exe c:\foo.py pause
Le pause empêcheras la fermeture de la fenêtre et vous aurez votre erreur.
j'ai configuré cela sur un pc de build, sous W7 et python3.2 c'est faisable.
Pour la tache à planifièe il suffit de choisir le fichier .py du script
puis de choisir le répertoire de travail dans les options de la tache planifiée (l'emplacement du script doit fonctionner si on le clique à la main et que cela fonctionne).
Si la tache ne s’exécute pas sous l'utilisateur courant , il faut aussi vérifier que les droits d’exécutions sont bon .
j'ai eu le problème mon script appelant MSBUILD et l'utilisateur "tache" n'ayant pas les droit admin, mon script planté dans ce mode.
Si le script plante (se ferme tout de suite) c'est un problème du script et non pas de la tache planifié il faut logger dans un fichier ce qui crash.
Il me met des erreurs concernant mes logging...
Par exemple dans cette partie :
Il me signale une erreur pour filemode = 'w'
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 logging.basicConfig( level=logging.DEBUG, format='%(asctime)s : %(levelname)s : %(message)s', filename = "log_" + str(datetime.date.today()), filemode = 'w', )
boulbi, je ne vois pas où on peut sélectionner le repertoire dans les options
Pourtant quand je lance via une console ça fonctionne.
c'est surement un probleme de droit d'ecriture dans le dossier ou tu veux mettre le log !
sur W7 Eng :
Dans le tab Action / sur les propriétés de la tache il y a un Start in (optionnal)
C'est la qu'il faut mettre le chemin de ton script (ou de l'endroit ou tu veux qu'il tourne).
C'est clair qu'en mettant filename = log _ + machin
si ton dossier de départ est pas bon tu ne sais pas si tu as les droits d'ecriture.
A oui aussi tu peux mettre pyhton32.exe en mode "always run as administrator" et cmd.exe aussi via les propriétés des deux .exe ca peut aider suivant ce quetu fait dans ton script ...
C'est bon ! Il fallait que je remplisse le start in ! Merci beaucoup![]()
Partager