Seite 1 von 1

Fatal error mit py26win

Verfasst: Dienstag 20. April 2010, 15:58
von The_Net
Hallo,
Ich benutze derzeit Testweise PyInstaller (für Version 2.6) um aus einem .pyw-File ein .exe-File zu erstellen. Dieses soll im Prinzip ein Tkinter-Fenster anzeigen.

Nun habe ich dieses Programm auf einem anderen Rechner ausprobiert (ohne Python installiert), wo mir dann folgendes gemeldet wurde:
Fatal Error: C:\DOCUME~1\USER\LOCALS~1\TEMP\_MEI10602\python26.dll cannot be loaded (oder in der Richtung..)

Bei mir zuhause funktioniert alles bestens, als Optionen habe ich bei der Konvertierung Onefile, Noconsole, Tk verwendet.

Woran könnte der Fehler liegen. Das Warn-Log ist unter http://pastebin.com/Jsr6Acjd abrufbar.

mfg

Verfasst: Dienstag 20. April 2010, 17:48
von fhoech
Welche Module verwendest Du? Es gibt im Moment z.B. ein bekanntes Problem des py26win-Branch mit matplotlib. Evtl. sind auch andere Module betroffen. Du kannst die Programmdateien (.pyw und .spec-Datei, .exe bei welcher der Fehler auftritt wäre evtl. auch hilfreich) nicht zufällig zur Verfügung stellen oder ein Minimalbeispiel, das den Fehler ebenfalls zeigt?

Verfasst: Dienstag 20. April 2010, 17:58
von Sr4l
cannot be loaded (oder in der Richtung..)
Stand das da oder nicht? ;-)
Zwischen load und found besteht nen Riesen unterschied.

Mal geguckt ob in dem Temp Ordner die Datei python26.dll ist?

Verfasst: Dienstag 20. April 2010, 18:16
von The_Net
Warum sollte dort die python26.dll sein? Immerhin habe ich dort nur versucht die exe-Datei auszuführen. Höchstwahrscheinlich ist not found dortgestanden.

Module: sys,os,tkinter,time

Verfasst: Dienstag 20. April 2010, 19:06
von fhoech
Warum sollte dort die python26.dll sein?
Weil diese von pyinstaller (unter Windows) immer mitgenommen wird (auch ohne py26win). Wenn nicht, ist etwas gründlich schiefgelaufen.

Mach doch mal folgendes auf dem PC mit Python/pyinstaller in einer Eingabeaufforderung:
C:\Python26\python C:\Python26\py26win\ArchiveViewer.py <Pfad zur exe>
So siehst Du alle gepackten Dateien.

(ich frage hier auch nochmal nach der .pyw, dem .spec und der fehlerhaften exe, oder einem Minimalbeispiel.)

Verfasst: Dienstag 20. April 2010, 19:10
von The_Net
Nun, er sagt mir:

Code: Alles auswählen

C:\Python26>python C:\Python26\py26win\ArchiveViewer.py C:\python26\py26win\ctdw
\dist\ctdw.exe
 pos, length, uncompressed, iscompressed, type, name
[(0, 729151, 729151, 0, 'a', 'tk.pkg'),
 (729151, 647105, 647105, 0, 'z', 'outPYZ1.pyz'),
 (1376256, 8259, 21177, 1, 'm', 'iu'),
 (1384515, 169, 234, 1, 'm', 'struct'),
 (1384684, 5940, 14802, 1, 'm', 'archive'),
 (1390624, 1157, 2272, 1, 's', '_mountzlib'),
 (1391781, 886, 1698, 1, 's', 'unpackTK'),
 (1392667, 225, 388, 1, 's', 'useTK'),
 (1392892, 81, 76, 1, 's', 'useUnicode'),
 (1392973, 694, 1686, 1, 's', 'ctdw'),
 (1393667, 901, 1877, 1, 's', 'removeTK'),
 (1394568, 31431, 33280, 1, 'b', '_ctypes.pyd'),
 (1425999, 7555, 9728, 1, 'b', 'select.pyd'),
 (1433554, 170764, 173056, 1, 'b', 'unicodedata.pyd'),
 (1604318, 6295, 8704, 1, 'b', 'winsound.pyd'),
 (1610613, 33330, 35328, 1, 'b', 'bz2.pyd'),
 (1643943, 13507, 15872, 1, 'b', '_tkinter.pyd'),
 (1657450, 796767, 817152, 1, 'b', 'python26.dll'),
 (2454217, 333067, 349184, 1, 'b', 'tcl85.dll'),
 (2787284, 391264, 410624, 1, 'b', 'tk85.dll')]

Verfasst: Dienstag 20. April 2010, 19:50
von fhoech
Ok, eventuell ist pywin32 nicht installiert (pyinstaller/py26win sollte zwar eine entsprechende Warnung ausspucken, aber ich habe das jetzt mal für Python 2.6 unter Windows in einen Abbruch mit entsprechender Fehlermeldung geändert, da es wohl sonst etwas unklar ist).

Verfasst: Dienstag 20. April 2010, 20:30
von The_Net
Warum sollte pywin32 nicht installiert sein? Jedenfalls, hier ist der Inhalt des Projektordners + der .pyw sowie dem Log der Build.py:

http://www.speedyshare.com/files/22043933/ctdw.zip

(Nebenbei: Gibt es irgendeine Möglichkeit, dass PyInstaller nicht die Sprachfiles (Spanien, Ungarn,..) sowie Tk-Bilder mitkopiert?)

Verfasst: Dienstag 20. April 2010, 21:06
von fhoech
Warum sollte pywin32 nicht installiert sein?
Naja, dann wären mehr Dateien in der exe, und ausserdem, Dein log.txt sagt es :)
W: No module named pywintypes
W: Cannot check for assembly dependencies - resource access
W: unavailable. To enable resource access, please install
W: http://sourceforge.net/projects/pywin32/
(darum oben mein Hinweis, dass das Fehlen von pywin32 in der neuesten Revision von py26win für einen Programmabruch sorgt, um damit zu vermeiden, den Eindruck zu erwecken, es würde ohne gehen)

Wegen der Sprachfiles/Bilder: Da bin ich gerade überfragt, funktioniert es evtl mit excludes? Siehe hier http://www.pyinstaller.org/export/lates ... w#analysis