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
¿Realmente necesita compilarlo? Hay win binaries? – JustFogMaxi
* 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. –
¿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