PyQt5:此应用程序无法启动,因为未初始化任何Qt平台插件-安装问题?

4
我正在使用Ubuntu 18.04(作为Windows 10子系统的Linux)。当我尝试运行使用pyqt5的代码时,它会抛出以下错误:
"qt.qta.xcb:无法连接到显示器
qt.qpa.plugin:即使找到了“”,也无法加载Qt平台插件“xcb”。由于无法初始化任何Qt平台插件,因此此应用程序无法启动。重新安装该应用程序可能会解决此问题。
可用的平台插件有:eglfs、linuxfb、minimal、minimalegl、offscreen、vnc、xcb。
中止"
如图所示错误消息图像(该错误与pyqt5有关)。 我发现许多帖子建议执行以下操作:
1.转到=> Python38> lib> site-packages> PyQt5> Qt>插件 2.在插件中复制平台文件夹 3.然后转到Python38> lib> site-packages> PyQt5_tools> Qt> bin 4.在此处粘贴文件夹。进行复制和替换。
但是,在我的计算机上,pyqt5_tools中似乎没有Qt文件夹。我已经多次删除并重新安装了pyqt5、pyqt5-tools、pyqt5-plugins,但它仍然不起作用。这是否与我使用子系统有关?(我已在Windows和Ubuntu上下载了pyqt5)。有什么建议可以解决这个问题吗?
5个回答

4

有人建议首先运行命令"xhost +local:"。


1
该错误与一个或多个XCB相关库的缺失有关,需要在X11上满足这些要求,以便Qt能够正常运行。有关XCB库的完整列表,请查看此处
我建议您先尝试通过pip重新安装PyQt5,而不是随意复制文件。我曾经遇到过类似的问题,当时使用conda时,由于缺少shiboken,导致PySided2无法工作,我不得不通过pip安装它。
此外,您可能还想尝试使用conda(例如Anaconda或Miniconda)。最后但并非最不重要的是,如果这是您唯一的问题,您可以尝试安装所需的XCB库。但是,这很棘手,因为您的发行版提供的版本可能与pip安装的版本不同。
安装PyQt5的安全方式只需使用WSL中的发行版软件包管理器即可。由于它是虚拟化系统,我认为它仅用于开发PyQt5项目,并且之后将被删除。因此,污染干净的初始设置不应成为问题。

0

我遇到了同样的问题,使用的是Ubuntu 18 嵌入式子系统。

我按照@rbaleksandar的建议解决了这个问题。

conda install -c anaconda pyqt

0

这个错误是因为您在基本环境中安装了PyQt,所以请先删除anaconda,然后重新安装它,然后尝试创建一个新的环境并在其中工作。


2
我根本没有使用Anaconda。 - M04

0
在我的情况下,问题是由WSL引起的,因为它无法访问计算机的图形部分。我在计算机上执行了双重启动以继续进行,因为我找不到解决问题的方法。

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