Führen Sie das Python-Skript direkt über die Befehlszeile aus

8
%Vor%

Ich lege das oben auf ein Skript. Ich habe gesehen, dass das Skript über die Befehlszeile ausführbar sein sollte, ohne dass python programname.py benötigt wird. Wenn ich nicht falsch verstanden habe, sollte ich programname.py verwenden können, solange ich die obige Zeile oben im Skript habe. Ist das richtig?

Es funktioniert nicht für mich Ich erhalte nur einen Fehler, der besagt, dass ich python zu Beginn des 'Anrufs' verwenden müsste.

    
confused 01.12.2013, 22:36
quelle

2 Antworten

20

Universelles Ausführen von Python-Skripten

Sie können so ziemlich universell ohne den Shebang ( #! ) mit

laufen %Vor%

Oder fast gleichwertig (es platziert das aktuelle Verzeichnis auf Ihrem Pfad und führt das Modul namens myscript aus) (vorzugsweise tun Sie das!) :

%Vor%

von der Befehlszeile aus, solange Sie Python installiert haben und auf Ihrer Pfadumgebungsvariablen (d. h., die mit python ausgeführt wird, was, falls installiert, normalerweise der Fall wäre).

Shebangs ( #! ) sind eine Unix-Sache.

Der Shebang ist, wie Sie ihn verwenden, normalerweise auf einer Unix-Plattform (typischerweise Apple oder Linux) lauffähig. Windows würde normalerweise Cygwin benötigen, um den Shebang zu verwenden.

In der Regel können Sie den Python-Pfad auf Ihrem Systempfad wie folgt festlegen:

%Vor%

Angenommen, Sie befinden sich auf einem Unix, könnten Sie andere Orte für Ihr Python-Setup ausprobieren, wie zum Beispiel:

%Vor%

Durchwursteln

Sie können sehen, welchen Python Sie gerade verwenden, indem Sie den Befehl unix which verwenden. Wenn Sie also sehen möchten, woher Ihr Python kommt, verwenden Sie folgenden Befehl:

%Vor%

oder unter Windows (Cygwin kann wahrscheinlich den Shebang ausführen):

%Vor%

Unter Linux / Unix benötigen Sie auf diese Weise auch Ausführungsperioden, um die Datei auszuführen. Verwenden Sie chmod

%Vor%

(chmod kann auch auf Cygwin in Windows angewendet werden)

Wenn Sie nicht als root arbeiten, benötigen Sie möglicherweise sudo , und das wäre

%Vor%

Und dann versuchen Sie (mit demselben Verzeichnis) mit

zu laufen %Vor%     
Aaron Hall 01.12.2013 22:53
quelle
6

mache die Datei ausführbar

%Vor%

und dann aus demselben Verzeichnis wie file.py:

%Vor%     
jpwagner 01.12.2013 23:06
quelle

Tags und Links