Domanda

Quando si utilizza py2exe per distribuire applicazioni Python con wxPython, alcune DLL MSVC sono in genere necessarie per far funzionare .exe su macchine appena installate. In particolare, le due DLL più comuni sono msvcp71.dll e msvcr71.dll

Il primo può essere incluso in .exe utilizzando questo suggerimento . Tuttavia, quest'ultimo è appena inserito nella directory dist da py2exe e non nell'eseguibile, anche se chiedo espressamente di includerlo.

Qualche idea su come far sì che py2exe includa entrambi all'interno di .exe?

È stato utile?

Soluzione

Non potrebbe non avviarsi, allora? Si desidera msvcr71.dll nella stessa directory di exe, in modo che il caricatore della libreria sia in grado di trovarlo e collegarlo alla mappa di memoria dell'applicazione.

È necessario per le operazioni di base, quindi non puoi semplicemente lasciare py2exe decomprimerlo con il resto delle DLL.

Altri suggerimenti

py2exe non può farlo. Puoi avvolgere py2exe (c'è un esempio sul wiki che mostra come farlo con NSIS) ; potresti creare il tuo wrapper se usare NSIS o InnoSetup non era un'opzione.

In alternativa, se sei sicuro che i tuoi utenti avranno una copia compatibile di msvcr71.dll installata (utenti IIRC Vista o XP SP2), allora potresti scappare senza includerlo. Più utile, forse, se usi Python 2.3 (o precedente), allora Python si collega a msvcr.dll anziché a msvcr71.dll e qualsiasi utente di Windows lo avrà installato, quindi non puoi preoccupartene.

Sì, py2exe può farlo. Visualizza questo collegamento. E se stai usando python2.7, sostituisci " msvcr71 " a " msvcp90 " ;.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top