2014-10-19 23:38:42 +0000 2014-10-19 23:38:42 +0000
41
41
Advertisement

Python-Skripte ausführen, ohne explizit `python` aufzurufen

Advertisement

Ich verwende Debian Linux.

Ich habe mich gefragt, ob es eine Möglichkeit gibt, zu konfigurieren, um alle Python-Skripte im Terminal auszuführen, indem man script.py (statt python script.py) eingibt.

Advertisement
Advertisement

Antworten (4)

60
60
60
2014-10-19 23:47:44 +0000

Es gibt zwei Dinge, die Sie tun müssen:

  • Stellen Sie sicher, dass die Datei ausführbar ist: chmod +x script.py
  • Verwenden Sie einen Shebang, um dem Kernel mitzuteilen, welchen Interpreter er verwenden soll. Die oberste Zeile des Skripts sollte lauten:

Jetzt können Sie eingeben:

./script.py

, wenn sich das Skript in Ihrem aktuellen Verzeichnis befindet, oder:

script.py

, wenn sich das Skript zufällig in Ihrem PATH befindet, oder:

path/to/script.py

sonst.

33
33
33
2014-10-19 23:58:24 +0000

Unter Linux können Sie einfach den Hashbang (auch Shebang genannt) verwenden. Fügen Sie die Zeile

#!/usr/bin/python

ein, wenn Sie den Standard-Python-Interpreter ausführen wollen.

#!/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]
3
Advertisement
3
3
2017-10-31 18:09:01 +0000
Advertisement

Verwenden Sie:

#!/usr/bin/env python

Dies stellt sicher, dass das vom Benutzer erwartete Python dasjenige ist, mit dem das Skript ausgeführt wird. Dies ist besonders wichtig, wenn der Benutzer virtualenv verwendet, um eine bestimmte Version von python in einer bestimmten Umgebung zu haben.

0
0
0
2018-04-08 19:22:47 +0000

Verwenden Sie eine Shebang-Zeile am Anfang Ihres Skripts wie folgt:

!/usr/bin/python

Aktualisieren Sie die entsprechende Python-Version, unter der Sie das Skript ausführen möchten. z. B. für Python 3.6:

!/usr/bin/python3.6

für den Standardinterpreter:

!/usr/bin/python

Hinweis: Stellen Sie sicher, dass das Skript die Berechtigung zum Ausführen hat.

Advertisement

Verwandte Fragen

6
10
5
37
2
Advertisement
Advertisement