qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/home/.conda/envs/py39/lib/python3.9/site-packages/cv2/qt/plugins" even though it was found.
报错解释:
这个错误表明Qt应用程序试图加载名为"xcb"的平台插件时失败了。xcb是X Window系统的C语言库,它允许客户端程序通过X Window系统与X服务器通信。Qt使用这个插件来在X Window系统上绘制图形用户界面。
问题可能是因为:
xcb插件不在指定的目录中。
环境变量没有正确设置,导致Qt无法找到插件。
插件可能因为缺少依赖或者是不兼容的版本而无法加载。
解决方法:
确认xcb插件是否存在于指定的目录中。如果不存在,可能需要安装或重新安装Qt。
检查环境变量,确保Qt的插件目录被包含在
QT_PLUGIN_PATH
环境变量中。如果你使用的是Linux,确保安装了X Window系统的开发包,如libxcb和libx11。
如果问题仍然存在,可以尝试指定插件路径,通过在应用程序启动前设置
QT_QPA_PLATFORM_PLUGIN_PATH
环境变量,或者在代码中使用QCoreApplication::addLibraryPath()
。确保你的Qt安装完整无损,如果有必要,重新安装Qt。
例如,在shell中临时设置QT_PLUGIN_PATH
:
export QT_PLUGIN_PATH=/path/to/qt/plugins
或者在代码中设置:
QCoreApplication::addLibraryPath("/path/to/qt/plugins");
确保替换/path/to/qt/plugins
为你的Qt插件实际所在的目录。
==============================others====================================
qt.qpa.plugin: Could not load the Qt platform plugin “xcb“ in问题
- 一般出现qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in问题,主要是安装pyqt5后,缺少一些链接库,通过以下方法定位到缺少哪个链接库
- 在环境中 export QT_DEBUG_PLUGINS=1
- 执行出现该问题到程序,便可以定位到缺失的链接库。
- 在ubuntu系统中一般是libxcb-xinerama.so.0,通过
sudo
apt-get
install
libxcb-xinerama0
- 在centos系统中一般是libxkbcommon-x11.so.0,通过yum -y install libxkbcommon-x11-devel
- 提供两个通过文件名查找包名到网站