今天因为在anaconda中安装了一个新包,安装成功后运行python 程序报错:no qt platform plugin could be initialized。

1.安装Anaconda3-4.2.0-Windows-x86_64,对应python版本为3.5.2,scikit learn版本是0.17。因为要用Isolation Forest算法,只有0.18以上版本scikit learn才包含此算法,所以想更新scikit learn。

conda install scikit-learn

相关包的安装及更新提示:

2.安装成功后,运行python程序报错:no qt platform plugin could be initialized,并提示当前只有以下平台可用:minimal、offscreen、windows。在本机C:\Program Files\Anaconda3\Library\plugins\platforms下找到了qminimal.dll、qoffscreen.dll、qwindows.dll。报错与qt有关,因为matplotlib.pyplot可视化要用到qt。

在本机C:\Program Files\Anaconda3\Lib\site-packages\qtpy找到qt,但只有这一个目录。之前已经遇到过qt报错的问题,见https://blog.csdn.net/zhang1806618/article/details/109739060,猜测是安装scikit learn过程中,将qt恢复到anaconda自带的状态了。重新执行安装:

pip install sip
pip install PyQt5 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install PyQt5-tools -i https://pypi.tuna.tsinghua.edu.cn/simple

重新安装后,在site-package下多了这些文件夹。恢复了qt。再运行python程序,报错消失。

总结:Anaconda会自己安装一个PyQt的版本,但没有安装对应的工具包。因此卸载或更改该PyQt版本,可能会与Anaconda不兼容,出现报错。此时只要重新安装PyQt5-tools就可以修复。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐