2016-01-29 4 views
5

Hallo Kollegen Programmierer, so habe ich ein Problem mit dieser Python .exe, um richtig zu funktionieren. Ich benutze Anaconda 3 und die neueste Version von pyinstaller, und mein Code hat nichts Ungewöhnliches, wenn ich ihn als .py laufe, aber aus Gründen der Distribution muss ich ihn als ".exe" haben. Immer wenn ich versuche, meine .exe auszuführen, bekomme ich nur den Fehler:Python Pyinstaller 3.1 Intel MKL FATAL FEHLER: Kann nicht laden mkl_intel_thread.dll

Intel MKL FATAL FEHLER: Kann mkl_intel_thread.dll nicht laden.

und dann schließt es. Dieses Problem tritt auch nicht auf, wenn ich meinen Python-Code im .py-Format im selben Befehlsfenster austrage.

Jede Hilfe würde sehr geschätzt werden, danke!

+1

Einige Details zu Ihrem Programm wären nett, siehe [mcve]. Nur für den Fall, dass Sie numpy verwenden, könnte dies relevant sein http://StackOverflow.com/a/34893933/5781248 –

+0

Dies half perfekt, auch alternativ versuchte ich wieder zur Verwendung von Anaconda 2 (Python 2.7), und mit ein paar Kleine Änderungen am Code führten zum selben Ergebnis. Ich werde es als Antwort hinzufügen mit weiteren Details in Kürze @ J.J.Hakala – ImmortalxR

Antwort

1

Der Fehler bedeutet, dass das Programm keine MKL-Bibliotheksdateien in seinem Bibliothekspfad gefunden hat. Dies ist das, was Sie zum Suchen benötigen.

Ich hatte das Problem beim Ausführen von Matplotlib-Skripten auf Windows mit numpy + mkl, und ich habe es durch Kopieren von Dateien, die mit "mkl_" in site-packages/numpy/core zu meinem python.exe root beginnen behoben.

Ich bin nicht vertraut mit kompilierten Python-Programm, aber die Idee sollte die gleiche sein. Da Sie diesen Fehler hatten, nehme ich an, dass Sie mkl Versionspakete verwenden. Sie müssen herausfinden, wo die .exe versucht, Bibliotheken von zu laden (könnte der gleiche Pfad sein, in dem sich die ausführbare Datei befindet), und alle mkl dlls eines beliebigen Pakets dorthin kopieren. Oder es könnte etwas wie "Kompilieroptionen" geben, mit dem Sie den Pfad usw. konfigurieren können.

Ich hoffe, es hilft Ihnen.

Verwandte Themen