【发布时间】:2017-11-14 23:10:50
【问题描述】:
对于你们中的许多人来说,这可能是一个简单的问题,但我需要一些帮助。在 windows 10 中从命令行运行 matplotlib 时遇到问题。我收到此错误:此应用程序无法启动,因为它无法找到或加载 Qt 平台插件“windows” 在 ””。 我最近更新并可能安装了一些改变的东西,它不再像以前那样工作。如果我从 spyder 运行,Matplotlib 也可以正常工作,但我想要做的是实际上启动一个用 PyQt5 制作的 gui,它曾经可以正常工作,但在我调用 matplotlib 时会出现上述错误,如果我只用 matplotlib 运行脚本我得到同样的错误,但是当我从 https://github.com/baoboa/pyqt5/tree/master/examples 调用一个简单的 pyqt 示例时,我也得到了同样的错误,它过去也可以正常工作。当我尝试从 spyder 运行 qt gui 时,没有任何反应,内核重新启动。我可以只从 spyder 运行 gui 设计,它可以正确显示,但是从上面的 windows 命令处理器运行时出现相同的错误。
我从之前的帖子Error "could not find or load the Qt platform plugin windows" while using matplotlib in pycharm 中发现,建议将 QT_PLUGIN_PATH 设置为 C:\ProgramData\Anaconda3\Library\plugins 但是我没有 QT_PLUGIN_PATH 作为选项。如果我创建新变量并将路径添加到插件它没有帮助。在插件/平台中有 qwindows、qoffscreen 和 qminimal.dll 我很困惑为什么当 python main.py 从命令行运行时出现上述错误,并且从 spyder 运行时 gui 没有出现。我通常只是在这里迷路......
感谢您的帮助 对不起,我也在运行 python 3.6。我最近更新了新的 spyder 版本。我的 matplotlib 是 2.1.0 和 PyQt5 版本 5.6.0
【问题讨论】:
-
该错误表示Qt未能加载
qwindows.dll。这可能是因为 Qt 没有在正确的路径中搜索,在这种情况下,您发现您可以使用QT_PLUGIN_PATH环境变量来修复它。或者可能是因为 Qt 无法加载插件,因为它不兼容:不同的 Qt 版本或不同的编译器。您可能可以使用一些工具来检查这一点,例如dependency walker。 -
谢谢@BenjaminT 我对 QT_PLUGIN_PATH 还是有点困惑,我只是将它添加为系统或用户环境中的新变量吗?我确实刚刚使用了一个新的 conda 环境,它似乎工作得很好。不过,如果我仍然可以为了自己的理智而修复它,那就太好了。如果它在新环境中工作,是否会添加任何有用的信息?
-
您只需在 Windows 命令行中执行
set QT_PLUGIN_PATH="C:\..."(在 bash 中为export QT_PLUGIN_PATH="...")。有帮助的是有效环境和无效环境之间的区别。
标签: python qt matplotlib environment-variables pyqt5