背景
打算用OneDrive实现备份。点击win10系统自带的OneDrive时,无法启动OneDrive,而且没有任何提示。无奈卸载掉并重装OneDrive。重新安装后,再次启动OneDrive,提示"Application Failed to start because no QT Platform could be initialized"错误。
本机软件情况
1.Anaconda
2.除Anaconda外本地未安装python任何版本
3.未单独安装qt
4.Office其他软件正常使用
踩坑记录
重装软件
由于提示框提示,通过重装软件的方式可能能解决问题。
我重新卸载并安装了两次,没有成功。
一篇博客提醒可能是由于官网下载的OneDrive版本过新,即版本问题。原帖链接
我查看了一下最新的版本号为22.065.0412.0004
然后按照博客给出的链接下载并安装了19.152.0927.0012版本的OneDrive
但是还是没有成功。
排除版本号问题。
其他
参考的帖子中更新了他的真正原因,本地环境中安装了phthon3以及PyQt5。
添加环境变量
参考帖子给出了添加"QT_QPA_PLATFORM_PLUGIN_PATH"环境变量的方法。原帖链接
我的电脑中有此环境变量,所以排除此问题。
安装QT
既然提示缺少qt的平台插件,那么安装qt就行了。
我查找了一下qt的安装方法,发现这个软件安装复杂而且比较庞大。我又问了几个在用OneDrive的朋友。他们表示,没有安装qt也能正常运行程序。所以我认为并不是因为缺少qt程序导致的。
Anaconda的PyQt5
PyQt5与QT的区别:PyQt5简述===PyQt5和Qt的关系 是pyqt好还是qt好?
我看网上有说,通过Anaconda安装PyQt5可以解决。于是我开始通过Anaconda安装PyQt5。
首先通过确定我之前没有安装过PyQt5。在cmd命令窗口中输入"pip list | findstr qt",只安装了qtconsole。
安包过程中,提示”Could not find a version that satisfies the requirement“
依次使用了更改安装方式、修改镜像源等方式都无法安装。这时我发现一篇博客(原帖链接)提到了Anaconda自带PyQt5。原帖中给出了查找了本地Anaconda的包安装位置(…\Library\bin),并没有找到。但是我在(…\pkgs)中找到了关于qt的文件夹。
按照两篇博客(原博客1,原博客2),我在(…\pkgs\qt-5.9.6-vc14h1e9a669_2\Library)中找到了plugins文件夹,但是移入OneDrive的安装位置后依然不行。
解决问题
该博客中提出可能是由于"QT_QPA_PLATFORM_PLUGIN_PATH"环境变量改变了OneDirve要初始化的Qt插件,导致Qt插件初始化失败。原博客
我查看了一下我本地的环境变量’'QT_QPA_PLATFORM_PLUGIN_PATH’的值为"D:\Anaconda\install\pkgs\qt-5.9.7-vc14h73c81de_0\Library\plugins"
再将该环境变量删除后,OneDrive成功运行。
遗留问题
QT_QPA_PLATFORM_PLUGIN_PATH
该环境变量应该是当初安装Anaconda时,按照教程添加到系统中的。查询发现,如果缺少此环境变量,有可能导致Spyder、Designer或者引入matplotlib包时出错。但是我在删除此环境变量后并没有出现该问题。目前还不知道删除此环境变量后会引发什么问题。
PyQt5
我在Anconda的安装目录(…\pkgs)找到了qt以及pyqt的文件夹,而且打开Spyder(Spyder->Help->About Spyder)也能看到系统中已经有qt和pyqt并且版本号也能看到。在cmd窗口引入pyqt(import PyQt5)也不报错。
但是在cmd窗口使用(pip list | findstr PyQt)没有得到结果。
更多有关qt问题解决方案集合
This application failed to start because no Qt platform plugin could be initialized问题解决合集