Question

J'essaie d'utiliser cx_freeze depuis un certain temps maintenant, et pourtant la même erreur se produit toujours

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

J'ai essayé avec 32 et 64 bits, et j'ai essayé à la fois setup.py et cxfreeze.bat

Ce que je demande, c'est comment puis-je le faire fonctionner?

Était-ce utile?

La solution

J'ai eu le même problème et c'était ma solution.

J'utilise Python 3.2 pour Windows 64 bits et mes installations de bibliothèque étaient tout pour 64 bits, y compris CX_Freeze. Lorsque j'ai essayé de "geler" un programme qui a importé le package PYQT4, j'ai eu l'erreur:

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

Dans mon cas, le problème était que le script CXFreeze copiait deux fichiers DLL (qtcore4.dll et qtgui4.dll) de mon installation MATLAB, plutôt que de mon installation Python. Les DLL MATLAB étaient 32 bits tandis que les DLL Python étaient les fichiers 64 bits requis.

Lisez les messages affichés lorsque vous exécutez le script CXFreeze pour créer vos fichiers EXE. Les derniers messages doivent être "Copying ... dll-> .... dll". Vérifiez les noms de fichiers et assurez-vous que tous les fichiers sont réellement copiés à partir de votre installation Python et non d'un autre programme.

S'ils sont copiés d'ailleurs (comme dans mon cas), vous pouvez simplement les copier sur vous-même après la construction. Sinon, vous devrez modifier votre chemin pour ne pas inclure le dossier contenant les DLL 32 bits de n'importe quel programme à quoi ils appartiennent.

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