Python Pyinstaller 3.1 Intel MKL致命错误:无法加载mkl_intel_thread.dll

9

大家好,我在使用Anaconda 3和最新版的pyinstaller时遇到了一些问题,希望能得到帮助。我的代码在以.py格式运行时没有任何问题,但为了分发方便,我需要将其转换为".exe"格式。但每次我尝试运行.exe文件时,都会出现以下错误:

Intel MKL FATAL ERROR: Cannot load mkl_intel_thread.dll.

然后程序就会关闭。请注意,如果我在同一个命令窗口中以.py格式运行我的Python代码,则不会出现此问题。

非常感谢任何帮助!


2
关于您的程序的一些细节会很好,参见[mcve]。如果您正在使用numpy,这可能是相关的https://dev59.com/nVsW5IYBdhLWcg3wk4HM#34893933。 - J.J. Hakala
这非常有帮助,另外我尝试回到使用Anaconda 2(Python 2.7),通过对代码进行一些小的调整,也成功地得到了相同的结果。我将很快添加更多详细信息作为答案@J.J.Hakala。 - ImmortalxR
1个回答

4
该错误意味着程序无法在其库路径下找到mkl库文件,您需要找到这些文件以便让程序找到它们。
我在Windows上使用numpy+mkl运行matplotlib脚本时遇到了此问题,通过将位于site-packages/numpy/core中以“mkl_”开头的文件复制到python.exe根目录中,问题得到了解决。
虽然我不熟悉编译后的Python程序,但思路应该是相同的。由于您遇到了这个错误,我认为您正在使用mkl版本的软件包。您需要找出.exe尝试从哪里加载库(可能与可执行文件位于同一路径),并将任何软件包的所有mkl dll文件复制到该路径中。或者可能会有类似于“编译选项”的东西,允许您配置路径等等。
希望对您有所帮助。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接