PyQT5错误:无法找到或加载Qt平台插件xcb。

3

在我重新安装Anaconda3(其中包含Python 3.4)之前,我一直能够开发使用PyQT5的Python应用程序。

重新安装Anaconda后,我收到一个错误消息:

....无法找到或加载Qt平台插件xcb

Anaconda安装的唯一区别是文件夹名称:/usr/local/ananaconda3/usr/local/anaconda_py3

我检查了libqxcb.so没有丢失的依赖项。 我重建了PyQT5。 我尝试显式添加PyQT5site-packages位置:

import site
site.addsitedir("...path.../python3.4")

还有其他建议吗?

重新安装Python会对使用PyQT5有什么影响吗?


尝试重新安装Libxcb,具体操作请参见:http://wiki.qt.io/Building_Qt_5_from_Git#Linux.2FX11 - Nejat
1
我应该提到我已经在[标签:Anaconda]中安装了[标签:PyQt4]。也许同时拥有两者会有问题? - user3047458
2个回答

7

这是由于在同一个安装/环境下有两个不同版本的Qt引起的错误。

检查您的环境中安装的软件包及其版本(如果出于某种原因您没有在虚拟环境中工作,则可以跳过第一行):

source activate yourenvname 
conda list

如果你看到版本都是4.X.Xpyqtqt,那么请删除它们(假设你想要使用Qt v5)。
conda remove qt
conda remove pyqt

我在系统上安装了多个版本的Qt。但是当我输入“conda remove qt”时,它要求我删除“Qt 5.6.0”,这是我正在使用且不想删除的版本。由于我正在使用Debian Jessie,因此预先安装了Qt 4.8(或类似版本),可能这就是Anaconda正在使用的版本。有没有办法选择要删除的Qt版本?它实际上是在删除实际的Qt安装还是只是在删除Anaconda软件包? - rbaleksandar
1
你不能执行 conda remove qt 4.8 吗? - Prof
1
我有同样的问题。我设置了环境变量QT_PLUGIN_PATH=/usr/local/anaconda_py3/pkgs/qt-5.6.0-0/plugins,然后它就可以工作了。 我卸载了它,重新安装了anaconda。即使没有这个环境变量,它也解决了问题。不知道为什么。 - syan

1

我遇到了一个看起来和这里发生的问题相似的情况。
但是在我的情况下,解决方案是使用 "sudo rm -rf user/anaconda3" 并使用 "bash anaconda....sh" 重新安装它,因为我之前使用 sudo 安装了它 ("sudo bash anaconda....sh")。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接