Question

Lorsque vous utilisez py2exe pour distribuer des applications Python avec wxPython, certaines DLL MSVC sont généralement nécessaires pour que le fichier .exe fonctionne sur des ordinateurs fraîchement installés. Msvcp71.dll et msvcr71.dll sont notamment les deux DLL les plus courantes

Le premier peut être inclus dans le fichier .exe à l'aide de cette astuce . Cependant, ce dernier est simplement placé dans le répertoire dist par py2exe et non dans l'exécutable, même si je demande spécifiquement à l'inclure.

Avez-vous une idée de la manière dont py2exe doit être inclus dans le fichier .exe?

Était-ce utile?

La solution

Ne pourrait-il pas se lancer, alors? Vous voulez que msvcr71.dll se trouve dans le même répertoire que le fichier exe, afin que le chargeur de bibliothèque puisse le trouver et le lier dans la mappe de mémoire de l'application.

Il est nécessaire pour les opérations de base. Vous ne pouvez donc pas laisser py2exe le décompresser avec le reste des DLL.

Autres conseils

py2exe ne peut pas faire cela. Vous pouvez encapsuler py2exe (un exemple sur le wiki montre comment procéder avec NSIS). ; vous pouvez créer votre propre wrapper si NSIS ou InnoSetup n'était pas une option.

Sinon, si vous êtes certain que vos utilisateurs disposeront d'une copie compatible de msvcr71.dll (utilisateurs IIRC Vista ou XP SP2), vous pourrez vous en sortir sans l'inclure. Plus utilement, si vous utilisez Python 2.3 (ou une version plus ancienne), alors Python crée un lien vers msvcr.dll plutôt que msvcr71.dll, et tout utilisateur Windows l’aura déjà installé. Ne vous inquiétez donc pas.

Oui, py2exe peut le faire. Afficher ce lien. Si vous utilisez python2.7, remplacez & msgcr71 " pour "msvcp90".

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