Py2Exe “Modules Manquants”
Je suis en train de convertir mon projet de python dans un fichier exe à l'aide de Py2Exe. Il est intéressant de noter que cx_freeze se plaint de la même trois "modules manquants", avec plusieurs dizaines d'autres. Le problème est que personne n'importe où vous indique comment résoudre ce problème.
Je suis en train de construire sur MS Windows XP 32 bits (VirtualBox).
C:\Documents and Settings\Jason\Desktop\redstring2>python setup.py py2exe
running py2exe
running build_py
creating build
creating build\lib
copying redstring.py -> build\lib
3 missing Modules
------------------
? readline imported from cmd, code, pdb
? win32api imported from platform
? win32con imported from platform
Building shared code archive 'dist\library.zip'.
Copy c:\windows\system32\python34.dll to dist
Copy C:\Python34\DLLs\select.pyd to dist\select.pyd
Copy C:\Python34\DLLs\_ssl.pyd to dist\_ssl.pyd
Copy C:\Python34\DLLs\_ctypes.pyd to dist\_ctypes.pyd
Copy C:\Python34\DLLs\_lzma.pyd to dist\_lzma.pyd
Copy C:\Python34\DLLs\_hashlib.pyd to dist\_hashlib.pyd
Copy C:\Python34\DLLs\pyexpat.pyd to dist\pyexpat.pyd
Copy C:\Python34\DLLs\_socket.pyd to dist\_socket.pyd
Copy C:\Python34\DLLs\_bz2.pyd to dist\_bz2.pyd
Copy C:\Python34\DLLs\unicodedata.pyd to dist\unicodedata.pyd
Mon setup.py
est comme suit.
#!/usr/bin/python python
from setuptools import setup
import py2exe
setup(name="Redstring",
version="2.0",
description="REDundant STRING generator",
author="MousePaw Labs",
url="http://www.mousepawgames.com/",
author_email="[email protected]",
data_files=[("", ["redstring.png", "redstring_interface.glade"])],
py_modules=["redstring"],
)
C'est un Python 3.4 projet à l'aide de GTK+ 3 (construit dans la Clairière). Il fonctionne tout peachy sur Ubuntu, et à partir de python redstring.py mais je ne peux pas obtenir la chose à compiler vers le bas à un .exe.
Jusqu'à présent j'ai essayé import platform
, from platform import win32api
, et tous les, comme dans les deux redstring.py
et setup.py
, ainsi que l'importation de plate-forme via py2exe options dans le fichier de configuration.
Affirmative. python redstring.py dans Windows XP cmd, il apporte sans aucun problème.
Avez-vous essayé ceci : stackoverflow.com/questions/10098444/... ?
Eh bien, si vous voulez dire à l'aide de la py2exe option "inclure": "plate-formes", ouais, tout ça n'a pas de jeter des erreurs, il n'a pas de résoudre le problème.
OriginalL'auteur CodeMouse92 | 2014-11-11
Vous devez vous connecter pour publier un commentaire.
win32api et win32con font partie de la Marque de Hammond Python Windows extensions (aka pywin32). readline est un module qui est utilisé (le cas échéant) par un code d'interagir avec la console.
Les deux readline et pywin32 sont optionnels modules/packages qui ne sont pas absolument obligatoire, mais il sera utilisé lorsqu'il est présent.
Dans l'ensemble py2exe avis que ces modules/packages sont référencées par un code qui sera inclus dans votre exe (il mentionne même les modules qui font référence à ces mod/packages: cmd, code, pdb, plate-forme).
J'espère que vous avez testé votre script dans le "non-compilé" forme, si elle fonctionne correctement que vous pouvez ignorer ces messages: elles ne sont que des avertissements.
La raison qu'aucun exécutable est construit, c'est que la ligne " console=["redstring"] " ou " windows=["redstring"]' est manquant dans le setup() de l'appel.
Ah, maintenant, je vois le problème: il vous manque la " console=["redstring"] " à la ligne dans le setup() appel de fonction. Ceci spécifie le fichier exécutable que vous voulez être créé.
Ouais, j'ai remarqué que plus tard, trop. Bonne prise. Dans mon cas, qui ont besoin d'être " windows=["redstring"]', en raison du fait, c'est de l'interface, mais oui. Si vous modifiez votre réponse (car, oui, il travaille sur le script de compilation, mais j'ai omis cette ligne, donc pas d'exécutable), je vais accepter la réponse.
OriginalL'auteur theller
Ainsi, il pourrait arriver que ces bibliothèques n'ont jamais été installés pour commencer. Python peut être "piles", mais pas à ce point. Cependant, je suis à répondre à cela parce que la fixation n'est pas la chose la plus évidente dans le monde pour certains (moi y compris).
Vous devez installer win32api (ou pywin32, comme il est officiellement appelé) à partir de Sourceforge (pour le moment, parcourir les fichiers pour la version la plus récente, comme le bouton de Téléchargement de liens vers README.txt) Qui permettra de résoudre win32con. (Vous ne pouvez pas installer pywin32 de pip pour le moment, malheureusement.)
readline n'est pas compatible avec Windows, pourtant il le demande. En fait, vous avez pour installer pyreadline, qui est le plus facile de
pip install pyreadline
.Qui devrait résoudre tous ces problèmes pour py2exe. Je suis toujours avoir des problèmes, mais c'est différent de la difficulté, de sorte qu'il est une autre question.
OriginalL'auteur CodeMouse92