Exécution d'un script Python dans le Planificateur de tâches - Le script ne s'exécutera pas

13

J'ai un script que je souhaite exécuter sur une base mensuelle régulière sans que je doive l'ouvrir et l'exécuter. J'ai fait référence à chaque page Web que je peux trouver sur le Planificateur de tâches Windows et j'ai suivi leurs instructions. Cependant, l'exécution du script à partir du Planificateur de tâches n'ouvrira le script qu'en Python et ne l'exécutera pas.

Dans la fenêtre d'exécution du Planificateur de tâches, j'ai essayé d'entrer à la fois le chemin d'accès au script seul et le chemin d'accès au script avec le chemin d'accès à mon programme Python. J'ai également essayé d'entrer le chemin de mon programme Python comme script avec mon script comme argument comme suggéré dans ce billet de blog . Mon script est codé en dur, donc je ne pense pas avoir besoin d'ajouter d'arguments.

Suis-je en train de manquer quelque chose d'évident?


Je rencontrais des problèmes parce que j'utilisais le chemin d'accès au programme Python et non la ligne de commande Python. C'est-à-dire que j'utilisais "C: \ Python27 \ ArcGIS10.1 \ Lib \ site-packages \ pythonwin \ Pythonwin.exe" lorsque je devais utiliser "C: \ Python27 \ ArcGIS10.1 \ python.exe".

Olivia
la source
Dans cet article, si vous lisez les commentaires, il semble que l'OP a pu le faire fonctionner en utilisant cmd comme programme et le script comme argument.
landocalrissian
Je vous remercie. Je n'ai pas encore vu ce post. Je vais l'examiner et voir si les informations qu'il contient me conviennent.
Olivia
Et à qui a demandé, je pense que j'ai 32 Python sur une machine 64.
Olivia
J'ai donc essayé la suggestion dans le post que vous avez suggéré, mais je ne semble toujours pas avoir de chance. J'ai essayé d'utiliser cmd comme programme avec / c C: \ Python27.exe G: \ Script.py comme argument, mais cela me donne deux erreurs: une de Python pour Win32 disant qu'elle ne pouvait pas charger mon script et une erreur disant qu'il y avait un argument de ligne de commande de traitement des erreurs.
Olivia
1
Si vous utilisez ArcGIS, votre python.exe peut se trouver dans un emplacement comme celui-ci: "C: \ Python27 \ ArcGIS10.3 \ python.exe". Assurez-vous de vérifier que le chemin d'accès à l'exécutable est correct dans votre fichier .bat.
crmackey

Réponses:

17

J'utilise les paramètres suivants pour "Démarrer un programme" dans le planificateur de tâches. Je trouve préférable d'utiliser le chemin complet vers l'exécutable Python pour être sûr.

Programme / script: chemin complet vers Python.exe, C:\Python27\ArcGIS10.2\python.exe

Arguments: nom du script, script.py

Commencez par: Emplacement de script.py, quelque chose commeC:\path\to\script

De plus, si vous transmettez des arguments à votre script, incluez ceux avec la section arguments, séparés par des espaces, script.py arg1 arg2 argn

Chad Cooper
la source
impressionnant. était coincé avec ça.
Prateek
5

J'ai toujours mis en place des fichiers batch simples comme celui-ci:

start C:\Python27\ArcGIS10.3\python.exe \\some_server\some_script.py

Vous voudrez simplement vous assurer que le chemin d'accès complet à l'exécutable et au script correspond exactement. Si le chemin contient des espaces, vous devrez le mettre entre guillemets. ( " ")

crmackey
la source
Je pense que c'est ce que j'ai maintenant. Programme / script: "Python.exe" "\\ serverconection \ script.py" Le Planificateur de tâches me demande ensuite si je veux faire de la connexion au serveur un argument, je refuse, puis la tâche ne s'exécute pas. Si j'utilise la connexion au serveur comme argument, le script s'ouvrira mais ne s'exécutera pas.
Olivia