Domanda

Sto creando un'applicazione di medio livello in Python. Ora funziona tutto bene e sto provando a renderlo un eseguibile di Windows con py2exe. L'eseguibile viene creato correttamente, ma quando provo a eseguirlo, non riesce con il seguente errore.

  File "zipextimporter.pyo", line 82, in load_module
  File "ffhandler.pyo", line 33, in ?
  File "zipextimporter.pyo", line 82, in load_module
  File "pyAA\__init__.pyo", line 1, in ?
  File "zipextimporter.pyo", line 82, in load_module
  File "pyAA\AA.pyo", line 8, in ?
  File "zipextimporter.pyo", line 82, in load_module
  File "pyAA\pyAAc.pyo", line 5, in ?
  File "zipextimporter.pyo", line 98, in load_module
ImportError: MemoryLoadLibrary failed loading pyAA\_pyAAc.pyd

Sto usando pyAA in questa applicazione. Ho cercato su Internet, ma non sono riuscito a trovare alcuna soluzione. Ho copiato msvcp71.dll in windows / system32, ma il problema persiste.

L'avevo risolto in precedenza (circa 7 mesi fa), ma il mio disco rigido si è bloccato e quando provo a ricrearlo, non riesco a risolverlo ora. : - (

Sarei molto grato se qualcuno potesse aiutarmi qui.

EDIT: Quando uso py2exe senza l'opzione file bundle, funziona perfettamente. Ma quando uso l'opzione file bundle, non funziona.

Ho provato senza l'opzione zipfile, in cui crea un file library.zip insieme all'eseguibile. Ancora una volta fallì. Ho decompresso Library.zip usando 7-zip e ho scoperto che _pyAAc.pyd si trova nella cartella pyAA all'interno del file zip. Quindi, sembra un problema con la funzione memoryloadlibrary.

Quando ho provato a decomprimere utilizzando la funzione di decompressione di Windows, non è riuscito. Ho dovuto usare 7-zip per decomprimerlo. È un possibile indizio?

È stato utile?

Soluzione

Ti mancano alcune DLL nella tua build ...

Prima cerca il tuo disco rigido per il file _pyAAC.pyd . Assicurati che sia incluso (spedito) nella tua build.

Quindi usa 'walker delle dipendenze' sul file .pyd (nella tua versione compilata di py2exe!) per vedere cosa manca ancora (altre DLL che causano il messaggio MemoryLoadLibrary per il file .pyd). Assicurati che anche queste dipendenze vengano spedite, ...

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