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.
Sie können so ziemlich universell ohne den Shebang ( #!
) mit
Oder fast gleichwertig (es platziert das aktuelle Verzeichnis auf Ihrem Pfad und führt das Modul namens myscript
aus) (vorzugsweise tun Sie das!) :
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).
#!
) 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% 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:
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
Und dann versuchen Sie (mit demselben Verzeichnis) mit
zu laufen %Vor%