Ho creato qualche programma usando python su Windows Vista. Ma voglio distribuirlo su Windows XP. È necessario creare nuove build su Windows XP? O c'è la possibilità di creare build che funzionerà su entrambi questi sistemi?E 'possibile creare exe su Vista e distribuire su XP usando py2exe
EDIT (EDIT 2 - molto semplice programma non funziona anche): mia messa a punto:
from distutils.core import setup
import py2exe
setup(console=['orderer.py'])
Utilizzando dipendenza esploratore ho controllato che le dipendenze sono:
msvcr90.dll
kernel32.dll
+ntdll.dll
quasi risolto :
ho capito che installi ng: http://www.microsoft.com/downloads/details.aspx?FamilyID=9b2da534-3e03-4391-8a4d-074b9f2bc1bf&displaylang=en fa la cosa. Ma ho provato a fornire manualmente msvrc90.dll prima e non ha funzionato, c'è un modo per ridistribuirlo automaticamente? O devo fornirgli questo file di installazione.
Ultimo e il problema principale
ora ho problema con msvcrt.dll. Messaggio che si è verificato su Windows XP:
Il punto di ingresso di procedura wcsscpy_s non ha potuto essere situato nella dinamica collegamento libreria msvcrt.dll
Su Vista dispongo versione 7.0.6001.18000
Ma su XP 7.0.2600.5512
C'è un modo per risolvere questo problema?
Sembra che non ha escluso ... stupido errore di pochi dll:
$ grep -lir msvcrt.dll .
./buildout
./buildtest.py
./dist/ACTIVEDS.dll
./dist/adsldpc.dll
./dist/ATL.DLL
./dist/credui.dll
./dist/DSOUND.dll
./dist/MAPI32.dll
./dist/PROPSYS.dll
./dist/WLDAP32.dll
Ora funziona!
Dopo aver creato questo file e aggiungendo queste dll, ottengo ancora "Il punto di inserimento della procedura wcsscpy_s non può essere localizzato nella libreria di collegamento dinamico msvcrt.dll" – dfens
Il tuo programma non dovrebbe dipendere da due librerie di runtime C. Prova a trovare da dove proviene la dipendenza di msvcrt.dll, ad es. utilizzando DependencyWalker (http://www.dependencywalker.com/) nei file * .pyd e * .dll. – cgohlke
ok lo vedo, è _ctypes.pyd – dfens