首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >英特尔MKL致命错误:无法加载mkl_intel_thread.dll

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

Stack Overflow用户
提问于 2019-08-20 06:35:51
回答 5查看 16.5K关注 0票数 8

以前我问过一个类似的问题:thread.dll

但现在我有了微妙的不同。我想在没有安装anaconda的情况下运行这个程序,就在一个cmd.exe终端中,但是看起来我做错了什么或者它是不可能的。

在使用python setup.py bdist_msi使用cx-freeze生成应用程序之后,我可以安装并在anaconda环境中运行它,但是如果我只是打开一个cmd.exe终端并运行它,我就可以

代码语言:javascript
运行
复制
INTEL MKL ERROR: The specified module could not be found. mkl_intel_thread.dll.
Intel MKL FATAL ERROR: Cannot load mkl_intel_thread.dll.

但是,当运行时

代码语言:javascript
运行
复制
where  mkl_intel_thread.dll

找到了dll,所以我认为这意味着它已经在系统中注册了(我更习惯使用Linux,所以我可能错了)。

我怎样才能解决这个问题?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2019-08-20 07:25:01

可能MKL所需的另一个DLL (例如libiomp5md.dll )丢失并导致错误。见thread.dll on python executable,我的答案和评论。

如果这仍然不能解决您的问题,请尝试手动将其他DLL从anaconda环境的库路径复制到应用程序安装目录及其lib子目录中。一旦发现缺少了哪个依赖项,就可以使用cx_Freeze的cx_Freeze选项在设置中自动执行这一步骤(如您所知)。

另一个可能的问题是,您的系统上安装了一个不兼容的MKL版本,而冻结的应用程序发现了错误的版本,但这是不太可能的,除非您在64位系统上安装了32位Python,或者已经在另一个系统上安装了应用程序。

编辑:

也可能只是冻结的应用程序没有找到mkl_intel_thread.dll,尽管where找到了它。where查看由PATH环境变量提供的系统搜索路径,而Python则查看sys.path给出的模块搜索路径(通常不包括PATH的内容),请参见Where is Python's sys.path initialized from?,但是在Where is Python's sys.path initialized from?上有一种注册DLL的回退机制(我不知道它是如何工作的)。无论如何,一旦打算在另一个系统上安装和运行应用程序,就不应该依赖此回退,因为必要的DLL可能不在那里安装。因此,安装目录中应该始终包含必要的依赖项。

票数 6
EN

Stack Overflow用户

发布于 2020-08-24 11:03:05

最近,我在python3.7中也遇到了同样的错误。我没有选择移动Dll,我只是做了解决问题。

代码语言:javascript
运行
复制
conda install cython

在cython安装之后,所有dll都在适当的位置。

票数 1
EN

Stack Overflow用户

发布于 2021-06-20 03:41:02

根据https://stackoverflow.com/a/56186333/977566,我将c:\windows\system32\libiomp5md.dll重命名为.bak,并为我修复了它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57567892

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档