EXE-Datei von Pythonprogramm (.py) erzeugen

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
saxopraxo
User
Beiträge: 12
Registriert: Donnerstag 12. November 2020, 19:48

Hallo,
ich möchte ein Programm .py in eine exe-Datei umwandeln.
Ich habe folgende Dateistruktur von Python.
Ich habe keine Beschreibung, wie man da vorgehen muss.
Habt ihr da eine Beschreibung wie ich da vorgehen muss oder wisst ihr wo das gut beschrieben steht, Schritt für Schritt.
Danke.
Gruss
saxopraxo
User
Beiträge: 12
Registriert: Donnerstag 12. November 2020, 19:48

Wie kann man hier ein Bild einfach hinzufügen? Das macht ihr sehr kompliziert!
Benutzeravatar
sparrow
User
Beiträge: 4538
Registriert: Freitag 17. April 2009, 10:28

Ich sehe nicht, wo da ein Bild nötig sein sollte.

Benutze Pyinstaller.
Zuletzt geändert von sparrow am Dienstag 8. Dezember 2020, 20:23, insgesamt 1-mal geändert.
saxopraxo
User
Beiträge: 12
Registriert: Donnerstag 12. November 2020, 19:48

Danke für die ausführliche Antwort.
Mit einem Satz ist ja alles gesagt!?
Ich habe nach einer Beschreibung oder Doku gefragt und gebeten, wo man das nachlesen kann.
Benutzeravatar
sparrow
User
Beiträge: 4538
Registriert: Freitag 17. April 2009, 10:28

Was genau passt dir denn an der Dokumentation von pyinstaller nicht?
Benutzeravatar
__blackjack__
User
Beiträge: 14053
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@saxopraxo: Es gibt eine Webseite, Dokumentation, eine Mailingliste, einen IRC-Channel, eine Github-Projektseite, und ein Wiki. Und wenn ich ”pyinstaller” in eine Suchmaschine eingebe, finde ich einen Haufen Tutorials und Blogbeiträge gleich unter den ersten Treffern, die alle den Eindruck vermitteln, als ginge es darum wie man PyInstaller verwendet.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Benutzeravatar
noisefloor
User
Beiträge: 4194
Registriert: Mittwoch 17. Oktober 2007, 21:40
Wohnort: WW
Kontaktdaten:

Hallo,
Ich habe nach einer Beschreibung oder Doku gefragt und gebeten, wo man das nachlesen kann.
Was hättest du denn gerne? Einen Vorleseservice? Das dir jemand das fertig programmiert? So funktioniert das hier nicht. Das Wort "pyinstaller" bei Google eingeben, Enter drücken und dann den 1. Link anklicken sollte ja möglich sein.

Wenn du mit pyinstaller nicht weiter kommst -> beschreibe, was du gemacht hast, poste die Schritte, die du gemacht hast, poste die Fehlermeldung, dann kann man dir konkret helfen.

Gruß, noisefloor
saxopraxo
User
Beiträge: 12
Registriert: Donnerstag 12. November 2020, 19:48

Alles klar. Funktioniert.
saxopraxo
User
Beiträge: 12
Registriert: Donnerstag 12. November 2020, 19:48

Ich habe eine Frage. Ich habe unteres Programm mittels
pyinstaller --onefile -w [Dateiname.py] in eine EXE umgewandelt. Das kleine Programm hat eine Grösse von 10 MB.
Sind die EXE-Dateien von Python immer so gross? Kann man die auch kleiner bekommen?

from tkinter import *

def Radiobutton_Click():
zahl = spielzahl.get()
labelAusgewaehlteZahl.config(text=str(zahl))

# Erzeugung des Fensters
tkFenster = Tk()
tkFenster.title("Test")
tkFenster.geometry("120x110")

# Rahmen Zahl
frameZahl = Frame(master=tkFenster,bg="#D5E88F")
frameZahl.place(x=5, y=5, width=110, height=100)

# Label mit Überschrift für die Zahl
labelUeberschriftZahl = Label(master=frameZahl,text="Zahl",bg="white")
labelUeberschriftZahl.place(x=5, y=5, width=100, height=20)

# Radiobutton für die Zahl
spielzahl = IntVar()
radiobutton1 = Radiobutton(master=frameZahl,text='1',value=1,variable=spielzahl,command=Radiobutton_Click)
radiobutton1.place(x=5, y=30, width=30, height=18)
radiobutton2 = Radiobutton(master=frameZahl,text='2',value=2,variable=spielzahl,command=Radiobutton_Click)
radiobutton2.place(x=40, y=30, width=30, height=18)
radiobutton3 = Radiobutton(master=frameZahl,text='3',value=3,variable=spielzahl,command=Radiobutton_Click)
radiobutton3.place(x=75, y=30, width=30, height=18)

# Label mit ausgewählter Zahl
labelAusgewaehlteZahl = Label(master=frameZahl,text="",bg="white")
labelAusgewaehlteZahl.place(x=40, y=52, width=30, height=18)

# Aktivierung des Fensters
tkFenster.mainloop()
Benutzeravatar
sparrow
User
Beiträge: 4538
Registriert: Freitag 17. April 2009, 10:28

Sie wird nicht kleiner.
Pyinstaller packt alles, was für die Ausführung gebraucht wird, in die die .exe-Datei. Die ist eigentlich ein selbstentpackendes Archiv, die sich - sobald das Programm startet - entpackt und die Python-Umgebung (die komplett mit eingebackt wird) ausführt.

Deshalb verteilt man in der Regel keine .exe-Dateien sondern die Scripte zusammen mit einer Datei, die man mit pip einspielt um ggf. Module zu installieren.
Python muss auf dem Zielrechner dann natürlich schon installiert sein.
Antworten