[gelöst] Bilder nach py2exe nicht gefunden

Plattformunabhängige GUIs mit wxWidgets.
Antworten
Benutzeravatar
Spaten
User
Beiträge: 52
Registriert: Samstag 27. Mai 2006, 11:35
Wohnort: Bremen
Kontaktdaten:

Sonntag 27. August 2006, 11:31

Hallo nochmal! :)

Also ich hab ein Programm mit wx geschrieben, es mit py2exe in eine Exe gepackt und die nötigen bitmaps für die Buttons in das Verzeichnis gepackt.
wenn ich das programm dann mit einem Doppelklick auf die Exe öffne, funktioniert alles bestens, aber wenn ich versuche eine Datei damit zu öffnen, indem ich sie auf die Exe ziehe, zeigt er eine Fehlermeldung an, dass die Button-Bitmaps nicht gefunden wurden. :cry:
Das öffnen der Dateien hab ich mit sysargv[1] geregelt.

Hat irgendjemand eine Idee, woran das liegen könnte?
ich hab echt keine Ahnung, was der Grund dafür ist... :roll:
Zuletzt geändert von Spaten am Sonntag 27. August 2006, 22:29, insgesamt 1-mal geändert.
Python-Version: 2.5
Benutzeravatar
DatenMetzgerX
User
Beiträge: 398
Registriert: Freitag 28. April 2006, 06:28
Wohnort: Zürich Seebach (CH)

Sonntag 27. August 2006, 11:48

Bei einem Doppelklick auf die Exe startet Winndos das Programm mit der Vollen Pfadangabe

z.B C:\Programme\myexe\myexe.exe

Andernfalls kann es der fall sein, das er das Programm mit
.\myexe.exe aufruft. k.A aber wäre möglich ;)

ich habe es bei mir mit __file__ gelöst

also

Code: Alles auswählen

PATH = __file__.rsplit('\\', 1)
[/code]
Benutzeravatar
Spaten
User
Beiträge: 52
Registriert: Samstag 27. Mai 2006, 11:35
Wohnort: Bremen
Kontaktdaten:

Sonntag 27. August 2006, 20:39

Hey, erstmal danke für deine Antwort!

Was bezweckst du denn mit dem __file__ genau?
Python-Version: 2.5
Benutzeravatar
DatenMetzgerX
User
Beiträge: 398
Registriert: Freitag 28. April 2006, 06:28
Wohnort: Zürich Seebach (CH)

Sonntag 27. August 2006, 21:19

__file__ ist die genaue Pfadangabe zu dem aktuellen Modul
Benutzeravatar
Spaten
User
Beiträge: 52
Registriert: Samstag 27. Mai 2006, 11:35
Wohnort: Bremen
Kontaktdaten:

Sonntag 27. August 2006, 21:58

ah danke! Das hilft mir! etwas weiter :P

allerdings sagt er, wenn ich die Exe erstellt habe, dass __file__ nicht
definiert ist (global name __file__ is not defined).

Ich habs jetzt mit sysargv[0] gemacht und es funktioniert bestens :D:D:D
Danke für deine Hilfe, du scheinst ja echt viel Ahnung von Python zu
haben, wenn du so oft hilfst :wink:
Python-Version: 2.5
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Montag 28. August 2006, 07:54

DatenMetzgerX hat geschrieben:

Code: Alles auswählen

PATH = __file__.rsplit('\\', 1)
Hi!

Code: Alles auswählen

os.path.split()
...ist plattformunabhängig und sollte in allen Fällen einem ``rsplit('\\')`` vorgezogen werden.

lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Antworten