Seite 1 von 1
exe erstellen
Verfasst: Mittwoch 26. Dezember 2012, 12:15
von kbe
Ich bin gerade neu bei Python. Einige Zeilen habe ich schon. Das scheint alles gut zu klappen mit der IDLE.
Eine Frage ist mir offen geblieben:
Kann man am Ende aus der .py bzw .py3 eine .exe machen?
Analog:
... ein ohne Interpreter laufendes Programm unter Linux?
Re: exe erstellen
Verfasst: Mittwoch 26. Dezember 2012, 12:20
von BlackJack
@kbe: Man kann eine EXE daraus machen, aber kein Programm welches ohne den Interpreter läuft. Der wird nämlich mit in die EXE gesteckt.
Speziell bei Linux würde ich das gar nicht erst versuchen weil es deutlich mehr Aufwand bedeutet als das bereits vorhandene Python der Linuxdistribution zu verwenden. Bei den meisten modernen Distributionen ist Python schon installiert und falls nicht, kann man es einfach über die jeweilige Paketverwaltung installieren.
Auch bei Windows solltest Du das Augenmerk nicht unbedingt auf eine EXE legen, sondern auf einen Installer, der alles notwendige installiert.
Im Übrigen ist das wohl eine der meist gestellten Fragen von Python-Anfängern die Windows verwenden hier im Forum.
Re: exe erstellen
Verfasst: Mittwoch 26. Dezember 2012, 13:11
von kbe
Danke.
Gib mit bitte einen Hinweis, wie man ein Python-Programm einrichten muss, damit das Fenster stehen auch bleibt. Es verschwindet alles immer sofort, auch beim Start über Ausführen oder .cmd.
Ich habe Win8, Python 3.3.0 64 bit. Die .py funktioniert im Run der IDLE.
Auch wäre das schwarze Fenster nicht gerade schön, wenn es stehen bleibt.
Re: exe erstellen
Verfasst: Mittwoch 26. Dezember 2012, 13:24
von BlackJack
@kbe: Wenn Du eine Konsolenanwendung geschrieben hast, dann solltest Du die auch in der Konsole starten und nicht per Doppelklick. Also erst die Konsole öffnen (heisst auf Deutsch glaube ich „Eingabeaufforderung”), dort dann das Verzeichnis zum Python-Skript wechseln, und es durch Eingabe des Namens starten. Als Programmierer, insbesondere wenn man Programme für die Konsole schreibt, sollte man sich mit der Befehlseingabe per Tastatur vertraut machen. Dazu kann man sich beispielsweise hier umsehen:
The Command Line Crash Course.
Re: exe erstellen
Verfasst: Mittwoch 26. Dezember 2012, 13:48
von pixewakb
Ich bin mir nicht ganz sicher, was genau dein Anliegen ist.
Hast du mal die py-Dateien nach Dateiname.pyw umbenannt???
Hast du mal am Ende deines Skripts ein input() eingegeben? Das verhindert, dass das schwarze Fenster nach dem Ausführen des Skripts direkt wieder geschlossen wird. In diesem Fall musst du noch eine Taste drücken, damit das Programm beendet wird.
Re: exe erstellen
Verfasst: Mittwoch 26. Dezember 2012, 13:59
von BlackJack
Das mit dem `input()` ist eine schlechte Idee. Wenn in dem Skript ein Fehler ist, dann nützt das auch wieder nichts und wenn jemand das Programm, wie es sich für ein Konsolenprogramm gehört, aus der Konsole startet, ist es total nervig unnötigerweise immer am Programmende noch mal die Eingabetaste drücken zu müssen.
Re: exe erstellen
Verfasst: Mittwoch 26. Dezember 2012, 18:00
von kbe
Na zumindest klappt es mit dem input() erst einmal (Doppelklick auf test.py3), aber zufrieden bin ich nicht.
BlackJack hat geschrieben:@kbe: Wenn Du eine Konsolenanwendung geschrieben hast, dann solltest Du die auch in der Konsole starten und nicht per Doppelklick.
Ich habe kleine Testprogramme geschrieben, um zu ermitteln, ob ich mit Python mein Ziel erreichen kann, ein bestimmtes Auswertungsprogramm zu schreiben. Die grundlegenden Sachen bis hin zur grafischen Ausgabe habe ich probiert. Scheint zu klappen (mit meinem Verstehstemich).
Aber ein Konsolenprogramm soll es nicht sein.
Und dahin geht meine eigentliche Frage: Wie mache ich meine Pythonprogramm über ein Icon per Doppelklick startbar?
Re: exe erstellen
Verfasst: Mittwoch 26. Dezember 2012, 20:28
von pixewakb
Ich habe Schwierigkeiten dein Anliegen zu verstehen.
Du kannst eine Verknüpfung auf die py-Datei anlegen und z. B. auf den Desktop packen. Dann startest du es mit einem Doppelklick, aber das machst du doch schon???
Willst du ein GUI erstellen oder eine exe-Datei erzeugen??? :K
Re: exe erstellen
Verfasst: Donnerstag 27. Dezember 2012, 09:12
von kbe
pixewakb hat geschrieben:Ich habe Schwierigkeiten dein Anliegen zu verstehen.
Du kannst eine Verknüpfung auf die py-Datei anlegen und z. B. auf den Desktop packen. Dann startest du es mit einem Doppelklick, aber das machst du doch schon???
Willst du ein GUI erstellen oder eine exe-Datei erzeugen??? :K
Um Missverständnissen vorzubeugen, ohne Abkürzungen:
Ich will mein Programm, das Buttons, Texte und Grafiken berechnet bzw. anzeigt, über ein Icon starten.
Das funktioniert schon durch die Verknüpfung von .py mit Python. Nur bleibt da immer noch das schwarze Fenster im Hintergrund stehen.
Eine exe würde das wohl auch lösen, aber da wird (wie ober geschrieben) quasi der Interpreter eingebunden.
Re: exe erstellen
Verfasst: Donnerstag 27. Dezember 2012, 09:33
von Sirius3
Hallo kbe,
genau das ist der Unterschied zwischen python.exe und pythonw.exe.
Während erstere für Konsolenanwendungen (mit schwarzem Fenster) benutzt wird,
ist die zweite Exe-Datei für GUIs da, die also ohne Konsole auskommen (müssen).
Normalerweise sind .py-Dateien mit python.exe und .pyw-Dateien mit pythonw.exe
verknüpft. Ein einfaches Umbnennen Deines Skripts hilft dann schon.
Grüße
Sirius
Re: exe erstellen
Verfasst: Donnerstag 27. Dezember 2012, 10:00
von kbe
Na da haben wirs doch
Besten Dank. Es war wohl eine schwere Geburt.
Ich kann also weiter machen.
Und damit war das wohl auch nicht meine letzte Anfrage. Dann aber sicher in einem anderen Forum.
Re: exe erstellen
Verfasst: Donnerstag 27. Dezember 2012, 12:05
von wuf
Hi kbe
Hier noch etwas aus dem Tutorial:
3.3.4. Executing scripts
Python scripts (files with the extension .py) will be executed by python.exe by default. This executable opens a terminal, which stays open even if the program uses a GUI. If you do not want this to happen, use the extension .pyw which will cause the script to be executed by pythonw.exe by default (both executables are located in the top-level of your Python installation directory). This suppresses the terminal window on startup.
You can also make all .py scripts execute with pythonw.exe, setting this through the usual facilities, for example (might require administrative rights):
Gruß wuf
