我正在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有关)。我发现很多帖子建议:
- 转到=>Python38> lib>site-packages> PyQt5>Qt>插件 在插件复制平台文件夹
- 之后进入Python38>lib>site-packages>PyQt5_tools>Qt>bin
- 粘贴文件夹到这里。复制并替换
但似乎在我的计算机上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