Wie kann ich mit qsub mit Python von der Kommandozeile aus?
Ich habe gerade versucht diesen Befehl:
qsub python commandLineDouble.py 1 10 1
und diesen Fehler erhalten:
Nicht Lesen-Skript-Datei, da der Fehler: Fehler beim öffnen python: Keine solche Datei oder Verzeichnis
Mir läuft das auf einem Rechner-cluster können in der Regel qsub
.csh
Dateien Recht gut.
- hum, haben Sie versuchen zum ausführen von python-allein? "Fehler beim öffnen der python" sieht nicht schön hier :-/
- Ich denke
qsub
ist auf der Suche nach einem Skript mit dem Namenpython
zum ausführen in einer shell. Ich glaube nicht, dassqsub
werden, beliebige Befehle auszuführen. - Ausführen von Python-alone arbeitet völlig problemlos auf dem original-system. Aber ich Frage mich, ob es eine separate Instanz von Python für qsub auch?
- Hmm, vielleicht könnte ich versuchen, eine shell-Datei, die ausgeführt wird, einen Befehl wie "time python DoublePendulum.py 1 1 1"? Ich bin neu in der shell scripting obwohl.
- Ich hatte gerade die ersten
qsub
ein Skript, wo der einzige Befehl istwhich python
, und nehmen Sie von dort (z.B. Wege, andere Umgebungsvariablen etc.) - Hm - ich habe gerade versucht, die. Ich habe auch versucht qsub auf ein "Hallo Welt" - Skript. Es hat nicht zeigen alles obwohl. Hmm.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mein Eindruck ist, dass
qsub
verhält sich anders von cluster zu cluster. Jedoch in meiner Erfahrung, ich habe immer nur getan:Beachten Sie, dass dies anders als:
In anderen Worten,
qsub
ist ein wapper um eine shell (in der Regel eine bestimmte shell, aber da shell ' s sind ähnlich genug, dies ist nicht normalerweise ein Problem), nicht um beliebige Befehle. Die einfache Lösung hier ist es, einfach setzen Sie Ihre Befehle in ein shell-Skript und schicken Sie das:Nun tun Sie nur
qsub wrapper.sh
und Bob ' s dein Onkel (unter der Annahme, dass der cluster, die parallel zur Umwelt hat python installiert ist...).qsub
ist anders als die Umgebung, die Sie tatsächlich arbeiten. In Ihrem login-terminal (außerhalb Ihresqsub
Skript), versuchenwhich python
. Sie sollten einen Weg, wie Sie sagte, dass Sie den code ausführen können, die außerhalb desqsub
. Dann kopieren Sie das gesamte Verzeichnis über dieqsub
Skript. wenn Sie z.B. sehen/usr/local/bin/python
wenn Siewhich python
, versuchen Sie/usr/local/bin/python yourscript.py
in Ihre qsub-Datei. Wenn das immer noch nicht funktioniert, würde ich vorschlagen, Sie Kontaktieren Sie den system-Administratoren. Sie müssen möglicherweisemodule load python
Verwendung der-S option
$ qsub -S $(which python) commandLineDouble.py 1 10 1
PBS Pro müssen Sie eine Doppel-Bindestrich, wenn Sie wollen Versorgung eine tatsächliche Befehlszeile anstatt ein Skript:
qsub -- python commandLineDouble.py 1 10 1
Haben Sie versucht
echo "script.py <args>" | qsub
?