Py Script geht nicht in Aufgabenplaner manuell schon

Status
Für weitere Antworten geschlossen.

sskora

Benutzer
Mitglied seit
10. Mai 2016
Beiträge
6
Punkte für Reaktionen
1
Punkte
0
Hallo,

Ich habe ein Python 3 Script geschrieben, das eine Bibliothek (fints) benutzt. Die Bibliothek habe ich per pip installiert (per SSH auf die Synology dann mit pip installiert). Python 3 ist normal aus dem Paket-Zentrum installiert.

Das Script soll mehrmals täglich ausgeführt werden. Ich habe also im Aufgabenplaner eine Aufgabe erstellt mit den gewünschten Zeiten und Ausführung mit meinem normalen User (mit dem ich mich auch per SSH angemeldet und die Bibliothek installiert habe. Ist ein Admin User).
Ausgeführt wird:
"cd /volume1/homes/MeinUser/
python3 meinScript.py"

Wenn der Aufgabenplaner die Aufgabe nun ausführt, bekomme ich folgenden Fehler:
"Aktueller Status: 1 (Unterbrochen)
Standardausgabe/Fehler:
Traceback (most recent call last):
File "meinScript.py", line 2, in <module>
from fints.client import FinTS3PinTanClient
ImportError: No module named 'fints' "

Das Kuriose: Wenn ich im Aufgabenplaner in der Übersicht der Aufgaben diese Aufgabe auswähle und sie manuell über den Button "Ausführen" starte, funktioniert das Script ohne Probleme!

Ich nehme an, dass es ein "User Problem" sein könnte, dass die Bibliothel für den Aufgabenplaner nicht "sichtbar" ist - was aber eigenartig ist, da ich als ausführenden User meinen eigenen angegeben habe, mit dem ich mich auch normal anmelde...

Wenn ich 'root' als ausführenden in der Aufgabe angeben, funktioniert es übrigens weder über die manuelle Ausfürung noch über den Zeitplan.

Hat jemand eine Idee, wie ich das Script ans laufen bekommen könnte?

Es handelt sich um eine DS116 mit DSM 6.2.1-23824 Update 6.

Beste Grüße
Sebastian
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
12.310
Punkte für Reaktionen
2.869
Punkte
423
Ohne jetzt alles gelesen zu haben soviel:
Wenn Scripte im Vordergrund laufen, über den Aufgabenplaner aber nicht, liegt es meist an den anderen Pfad-Einstellungen (echo $PATH).
Bei der interaktiven Anmeldung werden /etc/profile und ~/.profile durchlaufen und der Pfad gesetzt. Beim Aufgabenplaner ist das nicht der Fall.
Also am Besten im Script selbst den erforderlichen Pfade setzen oder aus /etc/profile übernehmen, dann funktioniert das Script sowohl interaktiv als auch über den Aufgabenplaner.
 

sskora

Benutzer
Mitglied seit
10. Mai 2016
Beiträge
6
Punkte für Reaktionen
1
Punkte
0
Hallo Benares,

vielen Dank für deine Antwort!
Ich habe versucht zu ergooglen was ich genau ändern muss, aber kein Lösungsansatz läuft bei mir auf der Synology.
Kannst du mir sagen, welche Zeilen ich in den Py Code hinzufügen muss?

Besten Dank schon mal :)
Sebastian
 

Benares

Benutzer
Sehr erfahren
Mitglied seit
27. Sep 2008
Beiträge
12.310
Punkte für Reaktionen
2.869
Punkte
423
Hallo sskora,
das weiß ich nicht, da ich dein Script nicht kenne. Mit Phyton kenne ich mich auch nicht aus.
Entweder du nimmst zwischen "cd ..." und "phyton3 ..." noch ein "PATH=..." auf, oder du bastelst dir halt ein ganz normales Shell-Script, dass die Einstellungen macht und am Ende "phyton3 ..." aufruft.
 

sskora

Benutzer
Mitglied seit
10. Mai 2016
Beiträge
6
Punkte für Reaktionen
1
Punkte
0
SO es hat etwas gedauert, aber ich habe es hinbekommen. Falls jemand mit dem selben Problem über diesen Thread stoßen sollte:
Ich habe in den Aufgabenplaner als Befehl rein geschrieben:

cd /volume1/homes/MeinUserName
/usr/local/bin/python3 meinPythonScript.py

In das Python Script habe ich ganz an Anfang folgende Zeilen rein gepackt:

import sys
sys.path.append('.local/lib/python3.5/site-packages')

Der Aufgabenplaner geht zuerst in mein Home Verzeichnis und startet das Pyhton script. Das Pyrthon script wird dann zuerst von dem Pfad (home verzeichnis) aus die Module (die sich in dem Unterordner im Home Verzeichnis befinden ... scheinbar packt pip die dahin) an die sys variable von python packen. Dann funktioniert es :)
Danke für die Hilfe :)
 
Status
Für weitere Antworten geschlossen.
 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat