Problem mit PyInstaller
Verfasst: Freitag 8. Juni 2007, 22:38
Hallo liebes Forum!
Ich habe nun einige Zeit an einem Programm gearbeitet, das die Module os, winsound, TkMessageBox, TkFileDialog und Tkinter verwendet. Nun läuft das Programm nach einigem Debuggen auch vollkommen stabil, wenn ich es als pyw-Datei ausführe.
Also wollte ich es mit PyInstaller zu einer Exe machen, was ich zuvor schon des öfteren gemacht hatte. Ich benutze Python 2.4.4 und den neuesten PyInstaller für diese Version. Nun kann ich zwar mit Configure.py PyInstaller konfigurieren und dann mit Makespec.py -F -w MeinProgramm.pyw und Build.py MeinProgramm.spec meine Exe erstellen.
Doch jetzt hab ich das Problem, dass ich selbst zwar die Exe problemlos ausführen kann, sie jedoch auf anderen Computern nicht läuft. Ich hab die Exe drei Leuten zum Testen geschickt, die allesamt kein Python auf dem Computer hatten und nie ging das Programm. Da ich keine zusätzlichen Dateien verwende, weiß ich nicht, woran das liegen kann.
Auch wenn ich die Onefile und Windowed Befehle weglasse und ihnen dann den gesamten Dist-Ordner gebe, klappt es immer noch nicht. Bei ihnen erscheint einzig und allein kurz eine Konsole, die sofort wieder verschwindet.
PyInstaller erstellt allerdings eine WarnMeinProgramm.txt. In dieser steht folgendes:
W: no module named posix (conditional import by os)
W: no module named pwd (delayed, conditional import by posixpath)
W: no module named win32api (delayed import by iu)
W: no module named MacOS (top-level import by Tkinter)
W: no module named posix (delayed, conditional import by iu)
W: no module named org (top-level import by copy)
W: no module named _emx_link (conditional import by os)
W: __all__ is built strangely at line 0 - dis (C:\Python24\lib\dis.pyc)
W: delayed __import__ hack detected at line 0 - encodings (C:\Python24\lib\encodings\__init__.pyc)
W: __all__ is built strangely at line 0 - re (C:\Python24\lib\re.pyc)
W: delayed exec statement detected at line 0 - Tkinter (C:\Python24\lib\lib-tk\Tkinter.pyc)
W: delayed eval hack detected at line 0 - os (C:\Python24\lib\os.pyc)
W: __all__ is built strangely at line 0 - tokenize (C:\Python24\lib\tokenize.pyc)
W: delayed conditional exec statement detected at line 0 - iu (C:\Python24\pyinstaller\iu.pyc)
W: delayed conditional exec statement detected at line 0 - iu (C:\Python24\pyinstaller\iu.pyc)
Ich weiß nicht, ob Ihr damit etwas anfangen könnt, ich wär jedoch über Eure Hilfe unglaublich erfreut.
Schon mal Dank im Voraus, Euer Pythonierer.
Ich habe nun einige Zeit an einem Programm gearbeitet, das die Module os, winsound, TkMessageBox, TkFileDialog und Tkinter verwendet. Nun läuft das Programm nach einigem Debuggen auch vollkommen stabil, wenn ich es als pyw-Datei ausführe.
Also wollte ich es mit PyInstaller zu einer Exe machen, was ich zuvor schon des öfteren gemacht hatte. Ich benutze Python 2.4.4 und den neuesten PyInstaller für diese Version. Nun kann ich zwar mit Configure.py PyInstaller konfigurieren und dann mit Makespec.py -F -w MeinProgramm.pyw und Build.py MeinProgramm.spec meine Exe erstellen.
Doch jetzt hab ich das Problem, dass ich selbst zwar die Exe problemlos ausführen kann, sie jedoch auf anderen Computern nicht läuft. Ich hab die Exe drei Leuten zum Testen geschickt, die allesamt kein Python auf dem Computer hatten und nie ging das Programm. Da ich keine zusätzlichen Dateien verwende, weiß ich nicht, woran das liegen kann.
Auch wenn ich die Onefile und Windowed Befehle weglasse und ihnen dann den gesamten Dist-Ordner gebe, klappt es immer noch nicht. Bei ihnen erscheint einzig und allein kurz eine Konsole, die sofort wieder verschwindet.
PyInstaller erstellt allerdings eine WarnMeinProgramm.txt. In dieser steht folgendes:
W: no module named posix (conditional import by os)
W: no module named pwd (delayed, conditional import by posixpath)
W: no module named win32api (delayed import by iu)
W: no module named MacOS (top-level import by Tkinter)
W: no module named posix (delayed, conditional import by iu)
W: no module named org (top-level import by copy)
W: no module named _emx_link (conditional import by os)
W: __all__ is built strangely at line 0 - dis (C:\Python24\lib\dis.pyc)
W: delayed __import__ hack detected at line 0 - encodings (C:\Python24\lib\encodings\__init__.pyc)
W: __all__ is built strangely at line 0 - re (C:\Python24\lib\re.pyc)
W: delayed exec statement detected at line 0 - Tkinter (C:\Python24\lib\lib-tk\Tkinter.pyc)
W: delayed eval hack detected at line 0 - os (C:\Python24\lib\os.pyc)
W: __all__ is built strangely at line 0 - tokenize (C:\Python24\lib\tokenize.pyc)
W: delayed conditional exec statement detected at line 0 - iu (C:\Python24\pyinstaller\iu.pyc)
W: delayed conditional exec statement detected at line 0 - iu (C:\Python24\pyinstaller\iu.pyc)
Ich weiß nicht, ob Ihr damit etwas anfangen könnt, ich wär jedoch über Eure Hilfe unglaublich erfreut.
Schon mal Dank im Voraus, Euer Pythonierer.