exe erstellen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
kbe
User
Beiträge: 27
Registriert: Mittwoch 26. Dezember 2012, 12:10

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?
Gruß aus DD
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.
Benutzeravatar
kbe
User
Beiträge: 27
Registriert: Mittwoch 26. Dezember 2012, 12:10

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.
Zuletzt geändert von kbe am Mittwoch 26. Dezember 2012, 13:26, insgesamt 1-mal geändert.
Gruß aus DD
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.
Benutzeravatar
pixewakb
User
Beiträge: 1408
Registriert: Sonntag 24. April 2011, 19:43

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.
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.
Benutzeravatar
kbe
User
Beiträge: 27
Registriert: Mittwoch 26. Dezember 2012, 12:10

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?
Gruß aus DD
Benutzeravatar
pixewakb
User
Beiträge: 1408
Registriert: Sonntag 24. April 2011, 19:43

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
Benutzeravatar
kbe
User
Beiträge: 27
Registriert: Mittwoch 26. Dezember 2012, 12:10

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.
Gruß aus DD
Sirius3
User
Beiträge: 17711
Registriert: Sonntag 21. Oktober 2012, 17:20

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
Benutzeravatar
kbe
User
Beiträge: 27
Registriert: Mittwoch 26. Dezember 2012, 12:10

Na da haben wirs doch :P
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.
Gruß aus DD
Benutzeravatar
wuf
User
Beiträge: 1529
Registriert: Sonntag 8. Juni 2003, 09:50

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 :wink:
Take it easy Mates!
Antworten