2009-06-26 6 views
1

J'ai un problème: J'ai utilisé py2exe pour mon programme, et cela a fonctionné sur mon ordinateur. Je l'ai emballé avec Inno Setup (encore travaillé sur mon ordinateur), mais quand je l'ai envoyé à un autre ordinateur, j'ai eu l'erreur suivante en essayant d'exécuter l'application: "CreateProcess a échoué, code 14001." L'application ne fonctionnera pas. (Note: J'utilise wxPython et le module multitraitement dans mon programme.) Je l'ai googlé un peu et j'ai trouvé que l'utilisateur devrait installer quelque chose de redistribuable MS, mais je ne veux pas compliquer la vie de mes utilisateurs . Y a-t-il une solution?Problème lors du déploiement du programme Python (fourni avec py2exe)

Versions:

Python 2.6.2c1, py2exe 0.6.9, Windows XP Pro

Répondre

3

Vous devez inclure msvcr90.dll, Microsoft.VC90.CRT.manifest et python.exe.manifest (renommé [votrenomapp] .exe.manifest) dans votre répertoire d'installation. Ces fichiers seront dans le répertoire Python26 sur votre système si vous avez installé Python avec l'option "Just for me".

Instructions pour ce faire can be found here.

N'oubliez pas d'appeler également le multiprocessing.freeze_support() dans votre fonction principale, ou vous aurez des problèmes lorsque vous démarrerez un nouveau processus.

Alors que d'autres ont parlé d'inclure l'exécution de MSVC dans votre package d'installation, la solution ci-dessus fonctionne lorsque vous souhaitez uniquement distribuer un seul fichier .zip contenant tous vos fichiers. Cela évite d'avoir à créer un paquet d'installation séparé lorsque vous ne voulez pas cette complication supplémentaire.

0

Vous pouvez envoyer les DLL d'exécution en question avec votre application en tant que "assemblée privée". Cela signifie simplement mettre une copie d'un répertoire spécialement nommé contenant les DLL d'exécution et leurs manifestes à côté de votre exécutable.

Voir my answer to this post.

1

Vous devriez être en mesure d'installer ce truc redistribuable MS dans le cadre de votre exe d'installation InnoSetup.

1

Lorsque vous exécutez py2exe, examinez attentivement les messages finaux une fois l'opération terminée. Il vous donne une liste de DLL qui, selon le programme, sont nécessaires, mais que py2exe n'emballe pas automatiquement.

De nombreux éléments de la liste sont disponibles de manière fiable sur n'importe quelle installation de Windows, mais il y en aura quelques-uns que vous devrez regrouper manuellement dans votre installation Inno Setup. Certains ne sont nécessaires que si vous souhaitez effectuer un déploiement sur des installations Windows plus anciennes, par exemple. Win 2000 ou plus tôt.

Questions connexes