【问题标题】:PyQT5 error: could not find or load Qt platform plugin xcbPyQT5 错误:无法找到或加载 Qt 平台插件 xcb
【发布时间】:2015-08-06 11:48:37
【问题描述】:

直到Anaconda3(包含Python 3.4)重新安装在我的RedHat 6.5 工作站上,我一直能够开发使用PyQT5 的Python 应用程序。

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

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

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

我检查了libqxcb.so 没有丢失的依赖项。 我重建了PyQT5。 我尝试明确添加site-packagesPyQT5 的位置:

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

还有其他建议吗?

重新安装PythonPyQT5 的使用有何影响?

【问题讨论】:

标签: qt python-3.x anaconda pyqt5


【解决方案1】:

我遇到的问题似乎与此处发生的情况相符。
但在我的情况下,解决方案是“sudo rm -rf user/anaconda3”并用“bash anaconda....sh”重新安装它,因为我之前使用 sudo 安装过它(“sudo bash anaconda....sh” )

【讨论】:

    【解决方案2】:

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

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

    source activate yourenvname 
    conda list
    

    如果您看到pyqtqt 都具有4.X.X 版本,则删除它们(假设您想在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 包?
    • 你不能conda remove qt 4.8吗?
    • 我也有同样的问题。我设置了环境变量 QT_PLUGIN_PATH=/usr/local/anaconda_py3/pkgs/qt-5.6.0-0/plugins 并且它起作用了。我卸载了它并再次重新安装了anaconda。即使没有这个环境变量,它也可以解决。不知道为什么。