当前位置: 首页 > 面试题库 >

Pyinstaller numpy“英特尔MKL致命错误:无法加载mkl_intel_thread.dll”

弓磊
2023-03-14
问题内容

我是python应用程序的新手。我正在尝试使用pyinstaller构建python
GUI应用程序。我的应用程序取决于以下软件包:PyQt4,numpy,pyqtgraph,h5py。我正在使用WinPython-32bit-3.4.4.1。

我使用以下命令构建应用程序:

pyinstaller --hidden-import=h5py.defs --hidden-import=h5py.utils --hidden-import=h5py.h5ac --hidden-import=h5py._proxy VOGE.py

我用pyinstaller创建的dist目录中的exe文件启动了我的应用程序,在程序调用numpy并出现以下错误而崩溃之前,它似乎工作正常:

英特尔MKL致命错误:无法加载mkl_intel_thread.dll

软件目录中不存在mkl_intel_thread.dll。但是将文件复制到程序的根目录中时,出现了相同的错误

谢谢你的帮助


问题答案:

我创建了一个hook-numpy.py来解决这个问题:

from PyInstaller import log as logging 
from PyInstaller import compat
from os import listdir

libdir = compat.base_prefix + "/lib"
mkllib = filter(lambda x : x.startswith('libmkl_'), listdir(libdir))
if mkllib <> []: 
   logger = logging.getLogger(__name__)
   logger.info("MKL installed as part of numpy, importing that!")
   binaries = map(lambda l: (libdir + "/" + l, ''), mkllib)

就我而言,conda正在安装mkl库以加快numpy和速度scipy



 类似资料:
  • 我刚刚更新了我的ubuntu和Android Studio。说明书告诉我把SDK文件夹移到它自己的文件夹中,以便安装新的Android Studio,我做到了。我和gradle有麻烦。现在我甚至无法加载我正在处理的项目。 错误消息是: 无法加载项目:com。intellij。石斑鱼类。插件。PluginManager$StartupAbortedException:初始化'com'时发生致命错误。

  • 问题内容: 当我尝试使用Terminal中的命令使用python创建虚拟环境时,出现以下错误: 我不是第一个遇到类似错误的人-我尝试遵循此答案的建议并运行: 那没有帮助。也没有以超级用户身份运行commmand。 接下来我应该调查什么? 问题答案: 我有完全相同的错误消息。Continuum Analytics支持小组的Ray Donnelly提供了以下解决方案,为我解决了这个问题: 当您pip安

  • 我正在尝试使用C++启动jvm。这里是我的cmakelists.txt和ny C++代码。 OpenJDK运行时环境(AdoptOpenJDK)(build 1.8.0_232-B09) OpenJDK 64位服务器VM(AdoptOpenJDK)(版本25.232-B09,混合模式) 主函数运行的结果

  • 我在本地运行的Laravel应用程序中有一个登录页面,但在生产服务器上,我收到以下错误消息(Laravel.log) 在应用/存储/视图/8d74d14da5e7fbd7b4984adefddd5a1b中生成的代码是: 有什么想法吗? 谢谢你

  • 问题内容: 我有一个函数(从文件顶部开始,这就是它的外观): 由于某种原因,我不断收到错误消息: 致命错误:无法在/Applications/MAMP/htdocs/question- air/includes/functions.php中重新声明generate_salt()(先前在/Applications/MAMP/htdocs/question- air/includes/function

  • 问题内容: 每次与Hotspot一起使用时,都不得不烦恼我,不得不阅读可怕的AT&T语法。 有没有办法告诉它使用英特尔语法? 问题答案: 您所需要做的就是将一些选项解析到dis-asm.h和binutils代码上 对于Intel Asm(我也更喜欢),只需添加以下内容 如果您需要组合选项,请像这样用逗号分隔 任何未被识别为hsdis选项的内容都将被提供给反汇编程序,这些选项与您从中看到的选项相同