Machen Sie ein Python-Programm über sein Symbol ausführbar

Machen Sie ein Python-Programm über sein Symbol ausführbar

Ich möchte Python-Programme durch Klicken auf ein Symbol in einem Fenster ausführen.

Dies ist der erste Tag, an dem ich mir selbst eine Art von Codierung und Ubuntu beibringe, daher sind ausführliche Erklärungen und zusätzliche Details willkommen.

Codebeispiel, das ich verwende

print("Game Over")
input("\n\nPress the enter key to exit")

Läuft im IDLE-Modus einwandfrei, aber wenn ich auf das Symbol der .py-Datei klicke, öffnet sich ein Editor anstelle eines Programms/Fensters.

Schritte, die ich bisher unternommen habe

  • Klicken Sie mit der rechten Maustaste auf die .py-Datei und setzen Sie die Berechtigungen auf „Ausführen der Datei als Programm zulassen“.
  • ich habe so viel gelesen wie ich konnte und es scheint, als würden mich Informationen erreichen, die über meinem Horizont liegen.

Beispiele

#!/usr/local/bin/python
#!/usr/bin/env python
CHMOD X

Ich verstehe nichts davon und weiß auch nicht, wo ich es verwenden soll.

Ich verwende Ubuntu 14.04 und Python 3

Vielen Dank im Voraus.

Antwort1

Auch wenn Ihre Frage aus mehreren Gründen grenzwertig sein könnte (zu allgemein, nicht zum Thema passend, mehr als ein Thema pro Frage, an der Grenze zu einer Reihe von Beinahe-Duplikaten), werde ich die Frage(n) beantworten.

Die erste Frage: zum Ausführen eines (Nur-Text-)Skripts „von einem Symbol aus“, wie Sie es erwähnen:

  • Ihr Skript ist nur Text und muss entweder in Idleeinem Terminalfenster ausgeführt werden. Das bedeutet, dass Sie, wenn Sie es durch Doppelklicken auf ein Symbol ausführen möchten, eine .desktopDatei erstellen müssen, in derdefiniertum das Skript in einem Terminalfenster auszuführen.
    Diese .desktopDateien sind übrigens Teil praktisch aller GUI-Anwendungen, die auf Ubuntu installiert sind.

    Ein sehr einfaches Beispiel, passend zu Ihrem Skript:

    [Desktop Entry]
    Name=Test
    Exec=/home/jacob/Bureaublad/test.py
    Terminal=true
    Type=Application
    

    Die interessantesten Zeilen sind:

    Exec=/home/jacob/Bureaublad/test.py
    

    in dem der Befehl zum Ausführen Ihres Skripts definiert ist.
    Weitere Informationen zum Erstellen des Befehls und zur Ausführbarkeit des Skripts mithilfe der Shebang-Spracherweiterung finden Sie unterHier.

    und die Zeile:

    Terminal=true
    

    Das bedeutet, dass das Skript in einem Terminalfenster ausgeführt werden muss.

    Sie können Ihre .desktopDatei ua mit einem Symbol und vielen weiteren Optionen erweitern, je nachdem, wofür Sie sie genau verwenden, sieheHier.

  • So verwenden Sie die .desktopDatei

    • Fügen Sie den obigen Code in eine leere Datei ein und speichern Sie ihn unter test.desktop. Bearbeiten Sie den Befehl in der Zeile Exec=/home/jacob/Bureaublad/test.pygemäß dem Link, den ich hinzugefügt habe, um Befehle zum Ausführen eines Skripts zu erstellen.
    • Wenn Sie die Datei von Ihrem Desktop verwenden, machen Sie sie mit dem folgenden Befehl ausführbar:

      chmod +x /path/to/Test.desktop
      

    Alternativ können Sie die .desktopDatei auch nach kopieren (verschieben), um ~/.local/share/applicationssie in Dash verfügbar zu machen. Global installierte Anwendungen speichern ihre .desktopDateien in /usr/share/applications. In den letzten beiden Verzeichnissen ist es nicht erforderlich, die .desktopDatei ausführbar zu machen.

Über die Beispielzeilen, die Sie nicht verstehen

  • Die Linien:

    #!/usr/local/bin/python
    #!/usr/bin/env python
    

    SindSie knallt; die erste Zeile eines Skripts, die der Shell mitteilt, wie es ausgeführt werden soll, wenn das Skript ausführbar ist und Sie es ohne pythonvor dem Pfad zum Skript ausführen. Da Sie verwenden python3, sollte der Shebang in Ihren Skripten normalerweise lauten:

    #!/usr/bin/env python3
    

    Weitere Informationen hierzu und zur Beziehung zwischen Shebang und Befehl finden Sie im obigen Link.

  • chmod +xWahrscheinlich meinst du CHMOD X (?) . Wie oben erklärt, kannst du eine Datei mit dem folgenden Befehl ausführbar machen:

    chmod +x /path/to/file
    

Antwort2

Wie bereits von anderen erwähnt, ist chmod +x notwendig, um das Programm ausführbar zu machen. Für das Programm hello.py würden Sie beispielsweise Folgendes im Terminal eingeben:

$ chmod +x hallo.py

Ich weiß nicht, ob das auch in früheren Versionen der Fall war, aber in Ubuntu 16.04 LTS muss das Verhalten der Symbole so eingestellt werden, dass das Ausführen des Programms durch Klicken auf das Symbol möglich ist. Sie können dies folgendermaßen tun:

Gehen Sie zu einem Dateibrowserfenster, bewegen Sie den Mauszeiger an den oberen Bildschirmrand und wählen Sie „Bearbeiten“ > „Einstellungen“ > „Verhalten“. Wählen Sie anschließend entweder „Ausführbare Textdateien beim Öffnen ausführen“ oder „Jedes Mal fragen“ aus.

Um außerdem zu verhindern, dass das Terminal am Ende des Programms geschlossen wird (beispielsweise wenn Sie die Ausgabe des Programms im Terminal auf dem Bildschirm behalten möchten), müssen Sie in Python 3.5 diese Zeile am Ende des Programms einfügen:

Eingang()

Hoffe das hilft.

Antwort3

Schreiben Sie eine .bat-Datei, die in der Eingabeaufforderung ausgeführt wird. Schreiben Sie in die Datei nur eine Zeile, etwa: C:/Python/Python38/python.exe c:/MyProject/mainFile.py

Dabei steht C:/Python/Python38/python.exe für Python 3.8 und c:/MyProject/mainFile.py ist die auszuführende Python-Skriptdatei.

Erstellen Sie eine Verknüpfung der .bat-Datei und platzieren Sie diese als Symbol auf dem Windows-Bildschirm. Das ist alles.

verwandte Informationen