【问题标题】:Qt platform plugin fails to load for other computersQt 平台插件无法为其他计算机加载
【发布时间】:2018-04-09 07:06:45
【问题描述】:

我在 Windows 中使用 pyinstaller 从 python 应用程序创建了一个 .exe。这个应用程序会打开一些 matplotlib 窗口。起初,在打开 matplotlib 窗口时,它向我抛出了错误“此应用程序无法启动,因为它无法加载 Qt 平台插件'Windows'”。我做了一些挖掘,发现我必须将环境变量“QT_PLUGIN_PATH”设置为值“C:\Users\user\Miniconda2\Library\plugins”。它工作正常,但只在我的电脑上。当我在其他 PC 中打开 .exe 并打开 matplotlib 窗口时,它显示了同样的错误。有没有办法让它适用于每台计算机?

【问题讨论】:

标签: python windows qt matplotlib pyinstaller


【解决方案1】:

您需要使用安装程序打包 QT DLL。这些 DLL 必须随您的应用程序一起提供,因为您的应用程序依赖于它们。它可以在您的 PC 上运行,因为您的计算机上安装了 QT 软件包。

请点击以下链接查看示例代码,以创建解决 DLL 问题的包。

https://github.com/carlosperate/pyinstaller-test/blob/master/package/pyqt5_test.spec

【讨论】:

  • 我编辑了我的 .spec 文件,就像您提供的链接中的文件一样,但同样的问题仍然存在。如果我手动将 dll 复制到应用程序文件夹,它会起作用吗?如果是,需要哪些 dll?我复制了“qminimal.dll”、“qoffscreen.dll”和“qwindows.dll”,但仍然没有结果。
  • 你可以试试这个吗:github.com/pyqt/python-qt5/issues/2 在这里下载depends.exe dependencywalker.com 并找到你的exe的所有依赖项并将它们复制到本地文件夹中它应该可以工作
【解决方案2】:

他们说,如果你不能解开这个结,就把它剪掉。这就是我所做的,因为我想不出办法,所以我完全删除了 Qt 后端并添加了一个 Tk 与此行:

import matplotlib
matplotlib.use('TkAgg')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-16
    • 2022-01-26
    • 2016-01-08
    • 2017-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多