在pycharm中使用matplotlib时出错"无法找到或加载Qt平台插件窗口"

Dai*_*aul 24 python pycharm python-3.x

我在PyCharm中使用matplotlib时收到错误"无法找到或加载Qt平台插件窗口".

我怎么解决这个问题?

在此输入图像描述

cxx*_*xxl 21

我对Anaconda3 4.2.0和4.3.0.1(64位)也有同样的问题.当我尝试运行使用matplotlib的简单程序时,我收到以下错误消息:

This application failed to start because it could not find or load the Qt platform plugin "windows"

Reinstalling the application may fix this problem.
Run Code Online (Sandbox Code Playgroud)

重新安装没有解决它.

这有什么帮助(在这里找到):查找Anaconda目录并将子目录Library\plugins(此处c:\ProgramData\Anaconda3\Library\plugins)设置为QT_PLUGIN_PATH控制面板/系统/高级系统设置/环境变量下的环境变量.

设置变量后,您可能需要重新启动PyCharm,如果更改没有立即生效.

Etvoilà!

更新:尽管之后命令行Python工作,但TexWorks(它也使用Qt)显示的错误信息非常类似.设置QT_PLUGIN_PATH到包含TexWorks的Qt DLL(此处C:\Users\chris\AppData\Local\Programs\MiKTeX 2.9\miktex\bin\x64)的目录修复了两个程序的问题.

  • 很好的修复!但是这个修复对我也需要 Qt 的另一个软件造成了同样的错误;所以我每次都必须重新创建它。不知道有没有办法避免这种情况。 (2认同)
  • 它适用于Python,但建议不要将其添加到环境变量中,因为它会破坏其他系统。现在每次我打开电脑时,Dropbox 都会抱怨缺少 Qt。很高兴知道这个问题的正确答案! (2认同)

小智 14

我发现这是由于我的PATH变量中包含MiKTeX二进制文件引起的; 并且找到了错误的Qt dll.我只需要重新安排PATH条目.

(Dependency Walker是一个非常有用的工具.)


rak*_*ama 11

如果您想以另一种方式可视化您的 matplotlib,请使用不同的后端来生成图形、图表等。

import matplotlib
matplotlib.use('TKAgg')
Run Code Online (Sandbox Code Playgroud)

这对我有用。

  • 这回避了问题,但鉴于 matplotlib 的灵活性,对于某些不应忽视的人来说,这是一个有用的解决方案! (2认同)

小智 10

只需添加一个系统变量:

QT_QPA_PLATFORM_PLUGIN_PATH
Run Code Online (Sandbox Code Playgroud)

并将其值设置为

C:\Python34\Lib\site-packages\PyQt4\plugins\platforms
Run Code Online (Sandbox Code Playgroud)

瞧。完毕


Sou*_*sai 9

我找到了一个对我有用的解决方案。此解决方案包括在从 Pyside2 或 PyQt5 包导入任何模块之前添加的代码片段。有关更多信息,请参阅“ Qt 平台插件”windows“#2 ”。

此代码片段来自链接:

import os
import PySide2

dirname = os.path.dirname(PySide2.__file__)
plugin_path = os.path.join(dirname, 'plugins', 'platforms')
os.environ['QT_QPA_PLATFORM_PLUGIN_PATH'] = plugin_path

from PySide2.QtWidgets import *
'''
Your code goes here
'''
Run Code Online (Sandbox Code Playgroud)

此解决方案适用于 PyQt5 和 PySide2 模块。我不知道它是否相关,但我添加了QT_PLUGIN_PATH之前在系统中环境变量。

该解决方案使我能够在 IDLE 中测试 PySide2 脚本。

但是,当我尝试运行捆绑脚本 (exe) 时,我遇到了同样的错误。

通过一些浅层调试,很明显插件文件夹本身丢失了。我通过在适当的位置添加插件文件夹解决了这个问题:

C:\Users\xxxx\.spyder-py3\My_QtProjects\Project 1\dist\MyQt_1\PySide2\
Run Code Online (Sandbox Code Playgroud)


lau*_*ack 8

我在使用PyCharm时遇到了类似的问题,其中主要运行时效果很好但在调试器中却没有,得到相同的错误消息.这件事发生在我身上,因为我已将Anaconda安装移至另一个目录.调试器去检查与python位于同一位置的qt.conf文件.这个位置可以通过运行找到import sys; print sys.executable.我通过一堆网络搜索找到了这个解决方案,它被埋在这里深处.qt.conf文件需要具有正确的调试器路径才能工作.

我的qt.conf文件在记事本中看起来像这样:

[Paths]
Prefix = E:/python/Anaconda3_py35/Library
Binaries = E:/python/Anaconda3_py35/Library/bin
Libraries = E:/python/Anaconda3_py35/Library/lib
Headers = E:/python/Anaconda3_py35/Library/include/qt
Run Code Online (Sandbox Code Playgroud)


Pra*_*ell 7

如果 Pycharm 控制台或调试器显示“无法找到或加载 Qt 平台插件窗口”,则 Python EXE 文件可能位于 PyCharm 解释器的不同位置。您可以在文件 -> 设置 -> 解释器中手动选择它。

  1. 设置工作目录:文件->设置->构建、执行、部署->控制台->Python控制台->工作目录。将其设置为所有代码所在的父目录。

  2. 打开控制面板 -> 系统设置 -> 高级系统设置 -> 环境变量 -> 新建。设置变量名QT_PLUGIN_PATH,变量目录:Users\<Username>\Appdata\Local\Continuum\Anaconda2\Library\plugins

  3. 重启 Pycharm。


小智 7

如果安装PyQt5PySide2,我解决的问题

复制以下文件

\Anaconda3\Lib\site-packages\PySide2\plugins\platforms\qminimal.dll
\Anaconda3\Lib\site-packages\PySide2\plugins\platforms\qoffscreen.dll
\Anaconda3\Lib\site-packages\PySide2\plugins\platforms\qwindows.dll
Run Code Online (Sandbox Code Playgroud)

\Anaconda3\Library\plugins\platforms\
Run Code Online (Sandbox Code Playgroud)


小智 6

我在Anaconda提示符下尝试了以下操作,它解决了此问题:

康达删除QT

康达删除pyqt

康达安装QT

康达安装pyqt

  • 这对我有用,但如果你想避免重新安装所有依赖包,不要卸载任何东西,只需强制重新安装: `conda install --force-reinstall pyqt` `conda install --force-reinstall qt` (4认同)