【问题标题】:py2exe: MKL FATAL ERROR: Cannot load mkl_intel_thread.dllpy2exe:MKL 致命错误:无法加载 mkl_intel_thread.dll
【发布时间】:2016-01-25 04:30:45
【问题描述】:

我正在尝试在 py2exe 中编译一个 python 程序。它返回了一堆丢失的模块,当我运行可执行文件时,它说:“MKL FATAL ERROR: Cannot load mkl_intel_thread.dll”

我所有的“非绘图”脚本都运行良好,只是使用“matplotlib”的脚本和“pyqtgraph”不起作用。

我什至在 Numpy/Core/mkl_intel_thread.dll 中找到了该文件,并将其放入带有 .exe 的文件夹中,但它仍然无法正常工作。有谁知道如何解决这个问题?

我正在使用 Anaconda Python 3.4 和 matplotlib 1.5.1

【问题讨论】:

    标签: python matplotlib py2exe


    【解决方案1】:

    没关系!我设法解决了这个问题,方法是将所需的 dll 从 numpy/core 内部复制到 py2exe 创建的 dist 文件夹中,而不是在它之外。

    【讨论】:

    • 注意它位于:C:\path\to\miniconda\pkgs\mkl-2018.0.2-1\Library\bin
    • 同样在 Windows 上,我必须将 4 个 dll 复制到文件夹中:mkl_core.dllmkl_intel_thread.dllmkl_mc3.dllmkl_rd.dll
    【解决方案2】:

    编辑: 解决此问题的最佳方法是将 nomkl 选项与 conda 一起使用:

    conda install nomkl numpy scipy scikit-learn numexpr
    

    我以前的答案:我在 MAC OSX 上使用 pyqtgraph 和 py2app 时遇到了同样的问题。我不得不将 libmkl_avx2.dylib 和 libmkl_mc.dylib 放在应用程序包中。具体来说,我必须右键单击应用程序并“显示包内容”。我把文件放在文件夹里 MYAPPLICATION.app/Contents/Frameworks/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-06
      • 2016-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多