【问题标题】:Missing .dll files in an executable kivy application (matplotlib)可执行 kivy 应用程序 (matplotlib) 中缺少 .dll 文件
【发布时间】:2018-11-14 14:10:17
【问题描述】:

我创建了一个 kivy 应用程序,它允许使用 matplotlib lib 绘制一些图形。它工作得很好,然后我用 cx_freeze 将它转换为 .exe,它显示了这个错误:

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

在论坛上几个小时后,我把所有存在于 Anaconda3-Windows-x86_64\\Library\bin in Anaconda3- 中的 mkl .dll 文件Windows-x86_64\Lib\site-packages\numpy\core 文件夹,因为 matplotlib 需要 numpy。通过此操作,可执行文件在我的笔记本电脑上完美运行,但不适用于其他用户的笔记本电脑,它显示此错误:

系统错误

程序无法启动,因为您的计算机中缺少 mkl_core.dll。尝试重新安装 解决这个问题的程序。

然后我将 dll 文件放在可执行文件的 lib 文件夹中的一些文件夹中,现在它显示此错误:

系统错误

程序无法启动,因为您的计算机中缺少 libiomp5md.dll。尝试重新安装 解决这个问题的程序

我不明白为什么会出现这些错误以及如何解决这个问题。我知道我的脚本(myapp.py 和 setup.py)没有错误,因为它在我的笔记本电脑上运行良好。

请问你有什么想法吗?

谢谢

【问题讨论】:

    标签: python matplotlib kivy


    【解决方案1】:

    我想知道您是否正确分配了文件的访问权限。如果您手动放置它们,它们可能会获得您用户的权限,因此对于任何其他用户来说似乎都丢失(无法访问)。

    【讨论】:

    • 感谢您的快速回答,但我认为这不是权限问题,因为我已经交付了一些适用于他们的 kivy 应用程序。 (这是相同的过程)。在这个应用程序中,这个错误是由 matplotlib 引起的
    • %PATH% 设置可能存在问题,不会导致您有问题的 DLL 所在的目录,并且脚本的二进制依赖性不满足。此外,我不清楚您是否将所有传递依赖项添加到安装包中(您必须明确地这样做)。
    • 终于成功了,我把以'lib'开头的mkl .dll和.dll文件放在Library/bin文件夹中与可执行文件相同的位置。谢谢你的建议,对我有帮助。
    猜你喜欢
    • 1970-01-01
    • 2019-09-01
    • 1970-01-01
    • 2011-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-17
    相关资源
    最近更新 更多