2016-01-29 27 views
5

Salve colleghi programmatori, quindi ho problemi a far funzionare correttamente questo python .exe. Sto usando Anaconda 3 e l'ultima versione di pyinstaller, e il mio codice non ha nulla di strano quando lo eseguo come .py, ma per ragioni di distribuzione ho bisogno di averlo come ".exe". Ogni volta che provo a eseguire il mio .exe tutto quello che ottengo è l'errore:Python Pyinstaller 3.1 Intel MKL FATAL ERRORE: impossibile caricare mkl_intel_thread.dll

Intel MKL FATAL ERROR: Impossibile caricare mkl_intel_thread.dll.

e quindi si chiude. Ancora una volta, non ho questo problema se eseguo il mio codice Python in formato .py dalla stessa finestra di comando.

Qualsiasi aiuto sarebbe molto apprezzato, grazie!

+1

Alcuni dettagli sul programma potrebbero essere piacevoli, vedere [mcve]. Nel caso in cui si usi numpy, questo potrebbe essere rilevante http://stackoverflow.com/a/34893933/5781248 –

+0

Ciò ha aiutato perfettamente, anche in alternativa, ho provato a tornare ad usare Anaconda 2 (python 2.7), e con alcuni piccole modifiche al codice gestivano lo stesso risultato. Lo aggiungerò come risposta con maggiori dettagli a breve @ J.J.Hakala – ImmortalxR

risposta

1

L'errore indica che il programma non è riuscito a trovare i file della libreria mkl sotto il relativo percorso della libreria, che è ciò che è necessario trovare.

Ho riscontrato il problema durante l'esecuzione di script matplotlib su Windows con numpy + mkl e l'ho risolto copiando i file che iniziano con "mkl_" nella site-packages/numpy/core nella mia root python.exe.

Non ho familiarità con il programma Python compilato ma l'idea dovrebbe essere la stessa. Dato che hai avuto questo errore, suppongo tu stia usando pacchetti di versione mkl. Devi capire da dove proviene il file .exe per caricare le librerie (potrebbe essere lo stesso percorso in cui si trova il file eseguibile) e copiare tutte le mkl dll di qualsiasi pacchetto. O ci potrebbe essere qualcosa come "opzioni di compilazione" che ti permette di configurare il percorso, ecc.

Spero che ti aiuti.