#!/usr/bin/env python
Das habe ich an die Spitze eines Skripts gesetzt. Ich habe gesehen, dass das Skript von der Befehlszeile aus lauffähig gemacht werden kann, ohne dass python programname.py
benötigt wird. Wenn ich kein Missverständnis habe, sollte ich programname.py
verwenden können, solange die obige Zeile oben im Skript steht. Ist das richtig?
Es funktioniert nicht für mich. Ich bekomme nur eine Fehlermeldung, die besagt, dass ich am Anfang des Aufrufs python
verwenden müsste.
Sie können so ziemlich universell ohne den Shebang (#!
) mit laufen
python myscript.py
Oder fast gleichwertig (es platziert das aktuelle Verzeichnis in Ihrem Pfad und führt das Modul mit dem Namen myscript
aus) (vorzugsweise dies tun!) :
python -m myscript
von der Befehlszeile aus, sofern Sie Python installiert haben und sich in Ihrer Pfadumgebungsvariablen befinden (d. h. mit python
ausgeführt werden, was bei einer Installation normalerweise der Fall wäre).
#!
) sind eine Unix-Sache.Der Shebang, wie Sie ihn verwenden, ist normalerweise für die Ausführung auf einer Unix-Plattform (normalerweise Apple oder Linux) vorgesehen. Windows erfordert normalerweise, dass Cygwin den Shebang verwendet.
In der Regel können Sie standardmäßig festlegen, welcher Python in Ihrem Systempfad verfügbar ist:
#!/usr/bin/env python
Wenn Sie sich auf einem Unix befinden, können Sie andere Standorte für Ihr Python-Setup ausprobieren, z.
#!/usr/bin/python
Sie können den Python, den Sie gerade verwenden, mit dem Befehl unix which
anzeigen. Wenn Sie also sehen möchten, woher Ihr Python kommt, verwenden Sie diesen Befehl:
which python
oder unter Windows (cygwin kann wahrscheinlich den Shebang ausführen):
where python
Unter Linux/Unix benötigen Sie auf diese Weise auch Ausführungsberechtigungen, um die Datei auszuführen. Verwenden Sie chmod
chmod +x myscript.py
(chmod kann auch für Cygwin in Windows gelten)
Wenn Sie nicht als root ausgeführt werden, benötigen Sie möglicherweise Sudo
Sudo chmod +x myscript.py
Und dann versuchen Sie (innerhalb desselben Verzeichnisses) mit auszuführen
./myscript.py
die Datei ausführbar machen
Sudo chmod +x /path/to/file.py
und dann aus demselben Verzeichnis wie file.py:
./file.py
Sie können auch webbrowser module folgendermaßen verwenden:
python -m webbrowser -t "http://www.python.org"