2011-05-13 7 views
5

Normalmente no soy un usuario de Windows, pero necesito construir exe's desde mi código python, así que me gustaría usar py2exe para hacerlo. Tengo un sistema de XP donde instalé Python 2.6.6. Descargué la fuente py2exe-0.6.9, pero cuando intenté instalarla (a través de "python setup.py install"), recibí el error "No se puede encontrar vcvarsall.bat". Busqué en Google y me encontré con this post donde un encuestado sugirió instalar una versión personalizada de los binarios MinGW GCC disponibles here. Lo hice, y ahora, cuando intento instalar py2exe, aparece un nuevo error. Aquí está la salida:¿Cómo puedo construir py2exe sin errores?

C:\Documents and Settings\Administrator\Desktop\py2exe-0.6.9>python setup.py install 
C:\Documents and Settings\Administrator\Desktop\py2exe-0.6.9\py2exe\build_exe.py:16: DeprecationWarning: the sets module is deprecated 
    import sets 
running install 
running build 
running build_py 
running build_ext 
building '_memimporter' extension 
creating build\temp.win32-2.6 
creating build\temp.win32-2.6\Release 
creating build\temp.win32-2.6\Release\source 
c:\mingw\bin\gcc.exe -mno-cygwin -mdll -O -Wall -DPYTHONDLL=\"PYTHON26.DLL\" -DPYTHONCOM=\"pythoncom26.dll\" -IC:\Python26\include -IC:\Python26\PC -c source/MemoryModule.c -o build\temp.win32-2.6\Release\source\memorymodule.o 
source/MemoryModule.c:30: warning: ignoring #pragma warning 
source/MemoryModule.c: In function 'BuildImportTable': 
source/MemoryModule.c:364: warning: pointer targets in passing argument 1 of 'MyLoadLibrary' differ in signedness 
source/MemoryModule.c: In function 'GetNameTable': 
source/MemoryModule.c:610: warning: passing argument 4 of 'qsort' from incompatible pointer type 
source/MemoryModule.c: In function 'MemoryGetProcAddress': 
source/MemoryModule.c:637: warning: passing argument 5 of 'bsearch' from incompatible pointer type 
c:\mingw\bin\gcc.exe -mno-cygwin -mdll -O -Wall -DPYTHONDLL=\"PYTHON26.DLL\" -DPYTHONCOM=\"pythoncom26.dll\" -IC:\Python26\include -IC:\Python26\PC -c source/_memimporter_module.c -o build\temp.win32-2.6\Release\source\_memimporter_module.o 

In file included from source/_memimporter.c:8, 
       from source/_memimporter_module.c:2: 
source/Python-version.h:13: error: redefinition of typedef 'Py_ssize_t' 
C:\Python26\include/pyport.h:115: error: previous declaration of 'Py_ssize_t' was here 
error: command 'gcc' failed with exit status 1 
+4

¿Realmente necesita compilarlo? Hay win binaries? – JustFogMaxi

+2

* golpea la cabeza * Claramente, no me fijé lo suficiente en el sitio de sourceforge. Simplemente hice clic en "¿Está buscando la última versión? Descargar el enlace py2exe-0.6.9.zip (149.7 KB)", sin darme cuenta de que si exploraba las otras descargas habría un código binario. ¡Gracias! Mantendré esta pregunta viva en caso de que sea importante para cualquiera resolver el problema de la construcción. –

+1

¿Su código es solo python? en caso afirmativo, entonces debería poder compilarlo en exe sin c-compiller. Solo incluirá todas las DLL (excepto las del sistema operativo). Acerca de vcvarsall.bat: este es un archivo bat de configuración de Visual Studio. Descarga la edición express (gratuita) y deberías estar bien. Este archivo bat establece todas las variables de entorno, como pathes en binarios, directorios necesarios a lo largo del desarrollo. Te deseo una buena resolución – Pavlonator

Respuesta

Cuestiones relacionadas