关于使用pyqt5时遇到的no qt platform plugin could be initialized的问题及解决

        问题可能具有唯一性,只是提供一个可供尝试的解决方法。

        问题:在主环境使用IDLE运行带pyqt5的py文件时,弹出“no qt platform plugin could be initialized”的错误提示。

        解决方法:删除 ...\Anaconda3\Lib\site-packages\PyQt5 下的 Qt 文件夹,担心删错可以改名或备份,如改成 “Qt多余出错改名” 。

        我的具体情况:我是直接安装Anaconda使用python的,pyqt5是通过pip安装的。主要开发是用pycharm开发,IDLE用于测试一些小代码小功能。一开始是没问题的,但在通过Anaconda安装pychart后,pycharm一直没问题,用IDLE测试时却突然弹出了错误提示运行不了。原因大概是如网上有人说的,安装pychart后,qt恢复到Anaconda自带的状态了。也在网上到处找解决办法,如增加环境变量QT_QPA_PLATFORM_PLUGIN_PATH,但没成功,因为找不到正确可用的路径……又不想尝试重新安装pyqt,担心麻烦一遍后没有效果,还弄乱原来的。后来突然意识到,没有出问题的pycharm使用的是虚拟环境,然后把pycharm切回主环境,果然弹错。再对比虚拟环境和主环境的差别,发现虚拟环境的PyQt5下根本就没有Qt文件夹,于是删掉试试,果然成功。确定的原理什么的我不知道,只能猜测大概Anaconda在你安装、更新pyqt5相应模块的时候,会自动在你的PyQt5文件夹下创建Qt文件夹,并把它作为引用插件的路径。而通过pip安装的pyqt并不会在里面放或更新什么东西,于是出现了错位。删掉这个多余的东西后,Anaconda在发现没有它特有的路径后,会自动回到python默认的路径上。

你可能感兴趣的:(python,qt,python,windows)