Ho un'applicazione python che sto cercando di creare come distribuibile pyinstaller
. Uno script simile si sviluppa con successo su Linux.Come indicare pyinstaller alle versioni corrette di MSVC? 90.dll?
Lo sto costruendo su Windows 7 x64, ma voglio creare binari a 32 bit per una migliore compatibilità, quindi sto usando python-2.7 a 32 bit. Tra le mie dipendenze sono matplotlib
e pyside
che richiedono MSVC. Installa un pacchetto chiamato VCForPython27 da Microsoft.
Si verifica un errore durante l'esecuzione del mio script pyinstaller. Ottengo il seguente messaggio:
1250 INFO: Adding Microsoft.VC90.CRT to dependent assemblies of final executable 7428 INFO: Searching for assembly x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_none ... 7428 WARNING: Assembly not found 7428 ERROR: Assembly x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_none not found 7475 WARNING: lib not found: MSVCR90.dll dependency of C:\Python27\python.exe 7553 INFO: Searching for assembly x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_none ... 7553 WARNING: Assembly not found 7553 ERROR: Assembly x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_none not found 7662 WARNING: lib not found: MSVCR90.dll dependency of C:\Windows\system32\python27.dll 7662 INFO: Analyzing C:\Python27\lib\site-packages\PyInstaller\loader\_pyi_boots
Non ci sono più messaggi del genere su entrambi i file MSVCP90.dll e Msvcr90.dll
posso vedere che ho una cartella che contiene le versioni C:\Windows\winsxs\x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4148_none_5090ab56bcba71c2
di entrambi i file.
Questa discrepanza si verifica sia quando installo i miei pacchetti python da Christoph Gohlke's page e con pip
(eccetto per matplotlib, che non posso installare con pip a causa di dipendenze mancanti).
Stranamente pyinstaller
fa un binario. Eppure, quando provo a fare funzionare io ottenere un detto popup:
WARNING: file already exists but should not: C:\Users\Martin\AppData\Local\Temp\_MEI34922\Include\pyconfig.h
Qualcuno sa come posso fare una delle seguenti:
- Installare il prezioso
x86_Microsoft.VC90.CRT_1fc8b3b9a1e18e3b_9.0.21022.8_none
montaggio? Da dove posso prendere questa versione specifica? - Dite a Python di cercare l'altra versione (
x86_microsoft.vc90.crt_1fc8b3b9a1e18e3b_9.0.30729.4148_none_5090ab56bcba71c2
)? - Risolvere il problema di presenza indesiderata di
pyconfig.h
? Non sembra portare da nessuna parte, ma ho pensato che dovrei provarlo anche io. - Trova un altro modo per creare il mio codice su un binario? È un codice complicato, che esegue binari esterni, ma se dovessi provare a Py2exe, non sono sicuro che sarebbe meglio.
Una soluzione per il problema 'pyconfig.h' viene inoltrata [qui] (http://stackoverflow.com/questions/19055089/pyinstaller-onefile- warning-pyconfig-h-quando-importazione-SciPy segnale SciPy-o-). – mapto