Ausführen eines Python-Skripts im Taskplaner - Das Skript wird nicht ausgeführt

13

Ich habe ein Skript, das ich regelmäßig monatlich ausführen möchte, ohne dass ich es öffnen und ausführen muss. Ich habe auf jede Webseite im Windows Task Scheduler verwiesen und deren Anweisungen befolgt. Wenn Sie das Skript jedoch über den Taskplaner ausführen, wird das Skript nur in Python geöffnet und nicht ausgeführt.

Im Taskplaner-Ausführungsfenster habe ich versucht, sowohl den Pfad zum Skript als auch den Pfad zum Skript mit dem Pfad zu meinem Python-Programm einzugeben. Ich habe auch versucht, den Pfad zu meinem Python-Programm als Skript mit meinem Skript als Argument einzugeben, wie in diesem Blog-Beitrag vorgeschlagen . Mein Skript ist hartcodiert, sodass ich keine Argumente hinzufügen muss.

Vermisse ich etwas Offensichtliches?


Ich hatte Probleme, weil ich den Pfad zum Python-Programm und nicht die Python-Befehlszeile verwendete. Dh ich habe "C: \ Python27 \ ArcGIS10.1 \ Lib \ site-packages \ pythonwin \ Pythonwin.exe" verwendet, als ich "C: \ Python27 \ ArcGIS10.1 \ python.exe" verwenden musste.

Olivia
quelle
Wenn Sie in diesem Beitrag die Kommentare lesen, sieht es so aus, als ob das OP es zum Laufen bringen konnte, indem es cmd als Programm und das Skript als Argument verwendete.
Landocalrissian
Vielen Dank. Ich habe diesen Beitrag noch nicht gesehen. Ich werde nachsehen, ob die darin enthaltenen Informationen für mich funktionieren.
Olivia
Und wer auch immer gefragt hat, ich glaube ich habe 32 Python auf einem 64 Rechner.
Olivia
Also habe ich den Vorschlag in dem von Ihnen vorgeschlagenen Beitrag ausprobiert, aber ich scheine immer noch kein Glück zu haben. Ich habe versucht, cmd als Programm mit / c C: \ Python27.exe G: \ Script.py als Argument zu verwenden, aber es gibt mir zwei Fehler: Einer von Python für Win32, der besagt, dass mein Skript nicht geladen werden konnte, und ein Fehler, der besagt dass es einen Fehler bei der Verarbeitung von Befehlszeilenargumenten gab.
Olivia
1
Wenn Sie ArcGIS verwenden, befindet sich Ihre python.exe möglicherweise an folgendem Ort: "C: \ Python27 \ ArcGIS10.3 \ python.exe". Stellen Sie sicher, dass der Pfad zur ausführbaren Datei in Ihrer BAT-Datei korrekt ist.
Crmackey

Antworten:

17

Ich verwende die folgenden Einstellungen, um im Taskplaner ein Programm zu starten. Ich finde es am besten, den vollständigen Pfad zur ausführbaren Python-Datei zu verwenden, um sicher zu gehen.

Programm / Skript: Vollständiger Pfad zu Python.exe, C:\Python27\ArcGIS10.2\python.exe

Argumente: Name des Skripts, script.py

Beginnen Sie in: Ort von script.py, so etwas wieC:\path\to\script

Wenn Sie Argumente an Ihr Skript übergeben, schließen Sie auch die Argumente mit ein, die durch Leerzeichen getrennt sind. script.py arg1 arg2 argn

Chad Cooper
quelle
genial. war damit festgefahren.
Prateek
5

Ich habe immer einfache Batch-Dateien wie folgt eingerichtet:

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

Sie müssen nur sicherstellen, dass der vollständige Pfad zur ausführbaren Datei und zum Skript genau übereinstimmt. Wenn der Pfad Leerzeichen enthält, müssen Sie ihn in doppelte Anführungszeichen setzen. ( " ")

Crmackey
quelle
Ich denke das ist was ich jetzt habe. Programm / Skript: "Python.exe" "\\ serverconection \ script.py" Der Taskplaner fragt mich dann, ob ich aus der Serververbindung ein Argument machen möchte. Ich lehne ab, und die Task wird dann nicht ausgeführt. Wenn ich die Serververbindung als Argument verwende, wird das Skript geöffnet, aber nicht ausgeführt.
Olivia