pyqt5:这个应用程序启动失败,因为没有Qt平台插件可以初始化-安装问题?



我正在Ubuntu 18.04上工作(作为linux的Windows 10子系统)。当我尝试运行使用pyqt5的代码时,它抛出错误:

"qt.qt .xcb:无法连接到显示

qt.qpa。插件:无法加载Qt平台插件"xcb"在";";尽管它被发现了。这个应用程序启动失败,因为没有Qt平台插件可以初始化。重新安装应用程序可以解决此问题。

可用的平台插件有:eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb。

流产">

,如image image中的错误消息(该错误肯定与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)。有什么建议可以解决这个问题吗?

有人建议运行"xhost +local:"第一。

该错误与缺少一个或多个与xcb相关的库有关,这需要在X11上实现Qt才能正常工作。查看XCB库的完整列表。

我建议,与其左右复制文件,不如先尝试通过pip重新安装PyQt5。我对conda有过类似的经历,PySided2由于缺少shiboken而无法工作,我必须通过pip安装。

此外,你可能想尝试conda(例如Anaconda或Miniconda)。最后但并非最不重要的一点是,如果这是您唯一的问题,您可以尝试安装所需的XCB库。然而,这很棘手,因为您的发行版提供的版本可能与pip安装的其他版本不同。

安装PyQt5的一种安全方法是简单地在WSL中使用发行版的包管理器。由于它是一个虚拟化的系统,我假设它仅仅是为了在PyQt5项目上工作而创建的,之后它将被删除。因此,污染干净的初始设置应该不是问题。

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

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

我也遇到了同样的问题,Ubuntu 18在WSL上也是如此。

我按照@rbaleksandar的建议解决了。

conda install -c anaconda pyqt