Question

Je suis en train de compiler un script wxPython très simple dans un fichier exécutable en utilisant PyInstaller sous Windows Vista.

Le script Python est rien, mais un Bonjour tout le monde dans wxPython. Je suis en train de faire cela et en cours d'exécution comme un exécutable Windows avant d'ajouter l'une des caractéristiques que le programme a besoin d'avoir. Mais je suis déjà bloqué.

J'ai sauté par quelques boucles en ce qui concerne msvcr90.dll, msvcp90.dll et MSVCPM90.DLL, que je fini par la copie de mon installation de Visual Studio (C: \ Program Files \ Microsoft Visual Studio 9.0 \ VC \ Redist \ x86 \ Microsoft.VC90.CRT).

en suivant les instructions pour PyInstaller, je cours:

Command:
Configure.py

Output:
I: computing EXE_dependencies
I: Finding TCL/TK...
I: could not find TCL/TK
I: testing for Zlib...
I: ... Zlib available
I: Testing for ability to set icons, version resources...
I: ... resource update available
I: Testing for Unicode support...
I: ... Unicode available
I: testing for UPX...
I: ...UPX available
I: computing PYZ dependencies...

Jusqu'à présent, si bon. Je continue.

Command:
Makespec.py -F guitest.py

Output:
wrote C:\Code\PromoUSB\guitest.spec
now run Build.py to build the executable

Ensuite, il y a la commande finale.

Command:
Build.py guitest.spec

Output:
checking Analysis
building Analysis because out0.toc non existent
running Analysis out0.toc
Analyzing: C:\Python26\pyinstaller-1.3\support\_mountzlib.py
Analyzing: C:\Python26\pyinstaller-1.3\support\useUnicode.py
Analyzing: guitest.py
Warnings written to C:\Code\PromoUSB\warnguitest.txt
checking PYZ
rebuilding out1.toc because out1.pyz is missing
building PYZ out1.toc
checking PKG
rebuilding out3.toc because out3.pkg is missing
building PKG out3.pkg
checking ELFEXE
rebuilding out2.toc because guitest.exe missing
building ELFEXE out2.toc

Je reçois le résultat fichier « guitest.exe », mais lors de l'exécution, il « se bloque tout simplement » ... et il n'y a pas d'informations de débogage. Il est juste un de ces standards plantages de Windows Vista.

Le script lui-même, guitest.py fonctionne très bien par lui-même. Il se bloque seulement comme un exécutable, et je suis complètement perdu. Je ne sais même pas ce qu'il faut chercher, puisque rien que j'ai essayé a retourné des résultats pertinents.

Un autre fichier est généré à la suite du processus de compilation, appelée « warnguitest.txt ». Voici son contenu.


W: no module named posix (conditional import by os)
W: no module named optik.__all__ (top-level import by optparse)
W: no module named readline (delayed, conditional import by cmd)
W: no module named readline (delayed import by pdb)
W: no module named pwd (delayed, conditional import by posixpath)
W: no module named org (top-level import by pickle)
W: no module named posix (delayed, conditional import by iu)
W: no module named fcntl (conditional import by subprocess)
W: no module named org (top-level import by copy)
W: no module named _emx_link (conditional import by os)
W: no module named optik.__version__ (top-level import by optparse)
W: no module named fcntl (top-level import by tempfile)
W: __all__ is built strangely at line 0 - collections (C:\Python26\lib\collections.pyc)
W: delayed  exec statement detected at line 0 - collections (C:\Python26\lib\collections.pyc)
W: delayed conditional __import__ hack detected at line 0 - doctest (C:\Python26\lib\doctest.pyc)
W: delayed  exec statement detected at line 0 - doctest (C:\Python26\lib\doctest.pyc)
W: delayed conditional __import__ hack detected at line 0 - doctest (C:\Python26\lib\doctest.pyc)
W: delayed  __import__ hack detected at line 0 - encodings (C:\Python26\lib\encodings\__init__.pyc)
W: __all__ is built strangely at line 0 - optparse (C:\Python26\pyinstaller-1.3\optparse.pyc)
W: __all__ is built strangely at line 0 - dis (C:\Python26\lib\dis.pyc)
W: delayed  eval hack detected at line 0 - os (C:\Python26\lib\os.pyc)
W: __all__ is built strangely at line 0 - __future__ (C:\Python26\lib\__future__.pyc)
W: delayed conditional __import__ hack detected at line 0 - unittest (C:\Python26\lib\unittest.pyc)
W: delayed conditional __import__ hack detected at line 0 - unittest (C:\Python26\lib\unittest.pyc)
W: __all__ is built strangely at line 0 - tokenize (C:\Python26\lib\tokenize.pyc)
W: __all__ is built strangely at line 0 - wx (C:\Python26\lib\site-packages\wx-2.8-msw-unicode\wx\__init__.pyc)
W: __all__ is built strangely at line 0 - wx (C:\Python26\lib\site-packages\wx-2.8-msw-unicode\wx\__init__.pyc)
W: delayed  exec statement detected at line 0 - bdb (C:\Python26\lib\bdb.pyc)
W: delayed  eval hack detected at line 0 - bdb (C:\Python26\lib\bdb.pyc)
W: delayed  eval hack detected at line 0 - bdb (C:\Python26\lib\bdb.pyc)
W: delayed  __import__ hack detected at line 0 - pickle (C:\Python26\lib\pickle.pyc)
W: delayed  __import__ hack detected at line 0 - pickle (C:\Python26\lib\pickle.pyc)
W: delayed conditional exec statement detected at line 0 - iu (C:\Python26\pyinstaller-1.3\iu.pyc)
W: delayed conditional exec statement detected at line 0 - iu (C:\Python26\pyinstaller-1.3\iu.pyc)
W: delayed  eval hack detected at line 0 - gettext (C:\Python26\lib\gettext.pyc)
W: delayed  __import__ hack detected at line 0 - optik.option_parser (C:\Python26\pyinstaller-1.3\optik\option_parser.pyc)
W: delayed conditional eval hack detected at line 0 - warnings (C:\Python26\lib\warnings.pyc)
W: delayed conditional __import__ hack detected at line 0 - warnings (C:\Python26\lib\warnings.pyc)
W: __all__ is built strangely at line 0 - optik (C:\Python26\pyinstaller-1.3\optik\__init__.pyc)
W: delayed  exec statement detected at line 0 - pdb (C:\Python26\lib\pdb.pyc)
W: delayed conditional eval hack detected at line 0 - pdb (C:\Python26\lib\pdb.pyc)
W: delayed  eval hack detected at line 0 - pdb (C:\Python26\lib\pdb.pyc)
W: delayed conditional eval hack detected at line 0 - pdb (C:\Python26\lib\pdb.pyc)
W: delayed  eval hack detected at line 0 - pdb (C:\Python26\lib\pdb.pyc)

Je ne sais pas ce que le diable faire de tout cela. Encore une fois, mes recherches ont été infructueuses.

Était-ce utile?

La solution 2

J'ai trouvé la solution à ce problème sur la liste de diffusion PyInstaller, et il est remarquablement simple, seulement en situation irrégulière.

PyInstaller ne supporte pas encore Python 2.6. La solution est d'obtenir un patch à partir d'une page qui se trouve maintenant dans le processus de compilation que je tentais, si l'on essaie de compiler en utilisant Python 2.6.

Merci tout le monde cependant!

EDIT: La page utilisée pour être hébergé à http://svn.pyinstaller.org/branches/ py26win mais il n'existe plus.

Autres conseils

Sur les fenêtres que j'ai trouvé py2exe plus stable et plus facile à utiliser, vous avez essayé.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top