py2exe Binaries umbenennen

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
droptix
User
Beiträge: 521
Registriert: Donnerstag 13. Oktober 2005, 21:27

Ich verpacke einige meiner Tools mit py2exe zu Windows Binaries. Wenn ich diese .exe Dateien umbenenne und anschließend ausführe, funktionieren sie nicht mehr. Es rasseln gleich mehrere Fehlermeldungen durch die Konsole, dass nicht vorhandene Module eingebunden werden sollen, aber nicht gefunden werden.

Da werden zum Teil Module aufgezählt, die ich gar nicht eingebunden hatte. Ich dachte erst, die .exe wurde nicht richtig zusammengefügt. Aber wenn man ihr wieder den Ursprungs-Dateinamen gibt, funktioniert wieder alles.

Woher kommt das? Und kann man es irgendwie bewerkstelligen, dass ich meine .exe auch mal umbenennen kann?

P.S. Das ist nicht bei allen .exe Dateien so, nur bei ein paar.
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

Klingt ganz so, als würde py2exes Loader-Stub (oder wie immer du es auch nennen willst) einfach den original Dateinamen nehmen, um die EXE (in der ja die ganzen Module gepackt sind) zu öffnen, anstatt ARGV[0] auszuwerten. Das wäre dann ein Bug von py2exe.

Versuch mal die neueste Py2exe, und wenn das nicht geht, schreib einen Bugreport.
Benutzeravatar
Masaru
User
Beiträge: 425
Registriert: Mittwoch 4. August 2004, 22:17

*g* als ob z.B. Binaries für C# (C-Shard) mittels Visual Studio sich besser verhalten würden *gg* ... da rasselt einem auch das Programm nach einer Umbenennung ab, wenn irgenwelche Ressourcendateien auf den ausführenden Programmnamen gelinkt sind ;).

Gerade die Windowswelt macht es vor, da kann schon die ausführenden Programmdatei Umbennnung oder Verschiebung in ein anders Verzeichnis dazu führen, dass alles in die Grütze geht ... komisch, aber wahr :D.

Wenn Py2Exe, PyInstaller, oder welcher Bundler auch immer das hinbekommen ... dann wäre das wirlich lobenswert, aber nicht zwangsweise eine standard-Erwartungshaltung ;).
Antworten