Pregunta

He estado tratando de usar cx_freeze desde hace algún tiempo y, sin embargo, siempre ocurre el mismo error

    import cx_Freeze.util
ImportError: DLL load failed: %1 is not a valid win32 application

He intentado con 32 y 64 bits, y he probado tanto setup.py como cxfreeze.bat

Lo que estoy preguntando es, ¿cómo hago que funcione?

¿Fue útil?

Solución

He tenido el mismo problema y esta fue mi solución.

Estoy usando Python 3.2 para Windows 64 bit y las instalaciones de mi biblioteca fueron todas por 64 bits, incluido CX_Freeze. Cuando intenté "congelar" un programa que importó el paquete PYQT4, recibí el error:

ImportError: DLL load failed: %1 is not a valid win32 application

En mi caso, el problema era que el script CXFreeze estaba copiando dos archivos DLL (Qtcore4.dll y Qtgui4.dll) desde mi instalación de Matlab, en lugar de desde mi instalación de Python. Las DLL MATLAB fueron de 32 bits, mientras que las DLL de Python fueron los archivos requeridos de 64 bits.

Lea los mensajes que se muestran cuando ejecuta el script CXFreeze para construir sus archivos EXE. Los últimos mensajes deberían ser "copiar ... dll-> .... dll". Verifique los nombres de archivo y asegúrese de que todos los archivos realmente se están copiando de su instalación de Python y no algún otro programa.

Si se están copiando de otro lugar (como en mi caso), simplemente puede copiarlos sobre usted después de la construcción. De lo contrario, deberá cambiar su camino para no incluir la carpeta que contiene las DLL de 32 bits de cualquier programa que pertenezcan.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top