PyQwt avec py2exe paquetteurs
Question
J'ai un script de configuration standard pour py2exe avec lequel je Regroupez des applications basées sur PyQt-dans les fichiers de Windows.
Aujourd'hui, j'ai essayé un script simple qui utilise le module PyQwt, et il ne semble pas fonctionner. py2exe fonctionne bien, mais quand je l'exécute .exe crée, il vide les éléments suivants dans un fichier journal et ne fonctionne pas:
Traceback (most recent call last):
File "qwt_test.pyw", line 5, in <module>
File "zipextimporter.pyo", line 82, in load_module
File "PyQt4\Qwt5\__init__.pyo", line 32, in <module>
File "zipextimporter.pyo", line 98, in load_module
ImportError: MemoryLoadLibrary failed loading PyQt4\Qwt5\Qwt.pyd
Quand je regarde dans PyQt4\Qwt5\
dans le répertoire build\bdist.win32\winexe\collect-2.5
, Qwt.pyd
est certainement là.
Je ne peux pas sembler trouver quoi que ce soit en ligne utile concernant cette erreur. Ce qui pourrait l'amener? Merci.
La solution
py2exe n'est pas la seule façon, et peut-être pas la meilleure façon, de mettre ensemble des fichiers exe pour les applications Python - en particulier, il peine si, à tous les supports PyQt. S'il vous plaît, je vous en supplie, consultez PyInstaller qui ne sait au sujet PyQt (et Linux, et Mac, devrait vous vous souciez ...) - assurez-vous d'utiliser la caisse de tête SVN, pas « sorti » version, qui à ce moment est sérieusement mis à jour (une question qui nous l'espérons va bientôt disparaître ...)
Autres conseils
Certaines options:
- Essayez de jouer avec le
bundle_files options
de py2xe (3, 2, 1) (surtout si vous les mettez tous dans un grand zip bibliothèque, quelques DLLs n'aiment pas). - Assurez-vous une copie de
msvcp71.dll
existe sous windows \ system32 ou dans le répertoire de l'exécutable. - Essayez d'exclure la dll explicitement (ajouter Qwt.pyd à l'option
dll_excludes
et (après la construction) copie Qwt.pyd (et _Qwt.pyd si elle existe) à votre chemin exécutable.