Ich benutze Debian Linux.
Ich habe mich gefragt, ob es eine Möglichkeit gibt, die Ausführung aller Python-Skripte im Terminal durch Eingabe script.py
(anstelle von python script.py
) zu konfigurieren .
Ich benutze Debian Linux.
Ich habe mich gefragt, ob es eine Möglichkeit gibt, die Ausführung aller Python-Skripte im Terminal durch Eingabe script.py
(anstelle von python script.py
) zu konfigurieren .
Antworten:
Sie müssen zwei Dinge tun:
chmod +x script.py
Verwenden Sie einen Shebang, um dem Kernel mitzuteilen, welchen Interpreter er verwenden soll. Die oberste Zeile des Skripts sollte lauten:
#!/usr/bin/python
Dies setzt voraus, dass Ihr Skript mit dem Standardpython ausgeführt wird. Wenn Sie eine bestimmte Version benötigen, geben Sie einfach im shebang an:
#!/usr/bin/python2.7
Jetzt können Sie Folgendes eingeben:
./script.py
Wenn sich das Skript in Ihrem aktuellen Verzeichnis befindet, oder:
script.py
wenn sich der Speicherort des Skripts zufällig in Ihrem PATH befindet, oder:
path/to/script.py
Andernfalls.
bash
dass die Datei bei der Ausführung liest ...
./script.py
, nichtscript.py
Unter Linux können Sie einfach den Hashbang (aka shebang) verwenden. Fügen Sie die Zeile hinzu
#!/usr/bin/python
Wenn Sie den Standard-Python-Interpreter ausführen möchten.
#!/path/to/python[x.x]
um eine bestimmte Version zu verwenden, oder
#!/usr/bin/env python
Wenn Sie möchten, dass die Umgebung Python für Sie findet.
Sie müssen das Skript auch ausführbar machen
chmod +x script[.py]
Verwenden:
#!/usr/bin/env python
Dadurch wird sichergestellt, dass der Python, den der Benutzer erwartet, derjenige ist, der das Skript ausführt. Dies ist besonders wichtig, wenn der Benutzer virtualenv verwendet, um eine bestimmte Version von Python in einer bestimmten Umgebung zu verwenden.
Verwenden Sie eine Shebang-Zeile oben in Ihrem Skript wie folgt:
Aktualisieren Sie die entsprechende Python-Version, auf der Sie das Skript ausführen möchten. zB Für Python 3.6 ist es
für Standardinterpreter
Hinweis: Stellen Sie sicher, dass das Skript über ausführbare Berechtigungen verfügt.
#!/usr/bin/env python
, wenn der Benutzer eine lokale Python-Version (z. B. in/usr/local/bin
) hat, mit der er das Skript lieber ausführen möchte.