2010-07-06 18 views
2

Je tente d'exécuter un programme py2exe'd (package.py) incluant pysvn. Il ne parvient pas à exécuter avec l'erreur suivante:Echec du chargement du programme py2exe lors de l'inclusion de pysvn

Traceback (most recent call last): 
    File "package.py", line 27, in <module> 
    File "zipextimporter.pyc", line 82, in load_module 
    File "pysvn\__init__.pyc", line 99, in <module> 
    File "zipextimporter.pyc", line 98, in load_module 
ImportError: MemoryLoadLibrary failed loading pysvn\_pysvn_2_6.pyd 

Le script fonctionne très bien pour les autres dans le bureau, la différence étant que je suis sur Windows 7 x64 x86 avec eux sur Windows XP. J'ai _pysvn_2_6.pyd dans mon répertoire pysvn.

La page "Problèmes à corriger" de Py2exe a un message d'erreur similaire avec WxPython où elle ne peut pas trouver un module système nécessaire, mais je n'utilise pas WxPython et j'ai la DLL à laquelle ils se réfèrent.

La page py2exe de "Travailler avec divers modules et modules" ne se réfère pas à pysvn, et je ne trouve personne d'autre avec des problèmes similaires.

J'ai vérifié la sortie de py2exe comme indiqué par this answer, mais mon ordinateur semble avoir tous les fichiers binaires requis dans les emplacements corrects.

EDIT: J'ai juste essayé d'exécuter d'autres programmes créés par py2exe sur cette même machine et ils ont également échoué. Il semble que le problème est avec ma machine (ie x64) plutôt que le programme spécifique que je convertissais; Je reçois une erreur semblable avec un autre programme:

Traceback (most recent call last): 
    File "rundemo.py", line 13, in <module> 
    import win32api as w32 
    File "zipextimporter.pyc", line 98, in load_module 
ImportError: MemoryLoadLibrary failed loading win32api.pyd 

EDIT2: J'ai essayé les programmes py2exe générés à partir de mon 64 bits compy sur une machine 32 bits, et ils ont échoué avec la même erreur. Je pense que je génère des exe de 32 bits (les docs de py2exe disent que le support 64 bits est expérimental, et je ne l'ai pas explicitement allumé), mais je ne suis pas sûr de savoir comment vérifier.

+0

Même si je sais que le problème n'est pas lié à pysvn (voir modifier), je ne suis toujours pas sûr de savoir comment faire fonctionner mes programmes générés par py2exe sur ma machine x64. – Topher

Répondre

0

Le projet py2exe semble mort, nous avons donc réécrit nos exes en C++. Nous pouvons toujours construire pour Win7 x64 sur nos machines, mais nous n'avons pas pu écrire sur Win7 pour fonctionner sur n'importe quoi de plus ancien.

0

Installez PyWin32.

+0

Je peux me tromper, mais je ne pense pas que ce soit vrai. Py2exe est en cours d'exécution pour package.py sur mon ordinateur dans le cadre de notre script de génération automatique. Une autre partie du script tente ensuite d'exécuter le fichier package.exe créé. – Topher

+0

Essayez d'exécuter py2exe sur un ordinateur x64 et d'exécuter le résultat sur votre machine de test x64. – mcandre

+0

C'est ce que je fais maintenant - lancer py2exe sur mon propre Win7 x64, puis en exécutant le programme résultant sur la même machine. – Topher