在使用python运行某程序时遇到了问题,无法运行。
这里主要给出解决问题的思路及方法。
python3 gui_main.py
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
打开程序调试输出,并再次运行程序
export QT_DEBUG_PLUGINS=1
python3 gui_main.py
可以看到调试输出显示少了一个库。
QLibraryPrivate::loadPlugin failed on "/home/houyawei/.local/lib/python3.7/site-packages/PyQt5/Qt5/plugins/platforms/libqxcb.so"
尝试安装以下依赖,并再次运行程序都不行
sudo apt-get install libxcb-xinerama0
sudo apt insyall libxcb-util0-dev
sudo apt-get install '^libxcb.*-dev'
列出动态库依赖关系,(LDD) list dynamic dependencies
ldd /home/houyawei/.local/lib/python3.7/site-packages/PyQt5/Qt5/plugins/platforms/libqxcb.so
把不能加载的提出来
ldd /home/houyawei/.local/lib/python3.7/site-packages/PyQt5/Qt5/plugins/platforms/libqxcb.so | grep "not"
libxcb-util.so.1 => not found
#就是这个东西了,libxcb-util.so.1 houyawei
在Debian系上,这个依赖库不叫libxcb-util.so.1,而叫libxcb-util.so.0,为其添加软连接即可。
cd /usr/lib/x86_64-linux-gnu
sudo ln -s libxcb-util.so.0 libxcb-util.so.1
2021/07/26/houyawei
参考:
https://bugreports.qt.io/browse/QTBUG-88688
https://bbs.deepin.org/post/206507?id=206507&limit=20&offset=0&postId=1253352