Seite 1 von 1

pyinstaller Tkinter Image Problem

Verfasst: Mittwoch 12. Dezember 2018, 21:29
von !pro
Hi Leute,
stehe vor einen kleinen Problem und komme nicht auf die Lösung.
Habe per Tkinter eine Gui für ein kleinen Programm geschrieben. In dieser GUI binde ich ein ico und mehrer statische gifs ein.
Der Pfad zu den Bilddatein ist absolut, habe es aber auch schon mit relativen Pfaden versucht(was natürlich nichts nützt da er trotzdem nach dem Bild an der Stelle sucht).
Mein Problem ist das ich per pyinstaller versuche eine standalone exe zu erstellen. Soweit klappt es auch wenn ich die Bilder im Ordner belasse und das Programm auf meinem Rechner ausführe, es klappt auch wenn ich die Bilder aus dem Programm nehme , dann natürlich auch auf anderen Rechnern.
Die Befehle die ich zum erstellen verwende sind

Code: Alles auswählen

pyinstaller xy.py --standalone --name xy --clean --noconsole -- icon=xy.ico
soweit ich es aus dem Kopf weiß... habe gerade meinen Arbeitsrechner nicht da.
Wie gesagt das erstellen geht soweit.
Meine Frage kann beim erstellen iwi die Bilddatein einbinden sodass sie auf einem fremden PC laufen und nicht an einen festen Pfad gebunden sind?
Ach so.. einen verrückten Ansatz den ich versucht habe war mit base64 das bild zu encoden und dann in bytes zu decoden um es so einzubinden, hat leider nicht geklappt.
Gruß

Re: pyinstaller Tkinter Image Problem

Verfasst: Mittwoch 12. Dezember 2018, 23:06
von __deets__
Pfade relativ zum ausgeführten Code sind dIe Lösung.

Hast du zb

code.py
super-bild.gif

im verzeichnis einträchtig nebeneinander liegen, dann ist der absolute Pfad des Bildes mit

SUPER_BILD_PFAD = os.path.join(os.path.dirname(__file__), “super-bild.gif”)

in code.py zu ermitteln. Auch nach Installation .

Re: pyinstaller Tkinter Image Problem

Verfasst: Donnerstag 13. Dezember 2018, 22:24
von !pro
Danke für die Hilfe.
Leider nützt es nichts bei der standalone exe. Wollte nur die exe verteilen keinen Ordner mit zusätzlichen Daten.
Dachte das es eine elegante Lösung gibt die Bilder "einzubinden" sodass nur die exe am Ende über bleibt.

Re: pyinstaller Tkinter Image Problem

Verfasst: Donnerstag 13. Dezember 2018, 22:38
von __blackjack__
@!pro: Das geht so ziemlich grundsätzlich nicht. Auch nur eine EXE wird zu einem Ordner mit Dateien entpackt wenn Du sie ausführst.

Re: pyinstaller Tkinter Image Problem

Verfasst: Donnerstag 13. Dezember 2018, 22:53
von !pro
Dann muss ich mich damit wohl abfinden, das ich auf Grafiken oder auf eine standalone verzichten muss ^^
Danke erstmal für die Antworten.

Re: pyinstaller Tkinter Image Problem

Verfasst: Donnerstag 13. Dezember 2018, 23:17
von __deets__
Wie bitte machst du denn eine stand-alone EXE ohne Grafiken? Es braucht doch immer mindestens den Interpreter & dein Skript. Und der Interpreter kann ohne Dutzende oder gar hunderte Dateien nicht arbeiten. Was macht da jetzt genau ein GIF mehr aus?