You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3.8+Ubuntu22环境下PyQt5导入及插件加载错误求助

问题:Python3.8+Ubuntu22下QtPy/PyQt5导入及平台插件加载错误

环境:Python 3.8、Ubuntu 22.04、Anaconda虚拟环境(paddleseg),使用qtpy包时触发ImportError。

为排查问题编写测试代码test.py:

from PyQt5.QtCore import PYQT_VERSION
from PyQt5.QtCore import QT_VERSION

print(PYQT_VERSION) 
print(QT_VERSION)

执行后报错:

ImportError: /home/malloc/anaconda3/envs/paddleseg/lib/python3.8/site-packages/PyQt5/QtCore.abi3.so: undefined symbol: _ZdaPvm, version Qt_5

已尝试nm、ldconfig、pip list等命令排查,将PyQt5降级至5.13.0后出现新错误:

Got keys from plugin meta data ("xcb")
QFactoryLoader::QFactoryLoader() checking directory path "/home/malloc/anaconda3/envs/paddleseg/bin/platforms" ...
Cannot load library /home/malloc/anaconda3/envs/paddleseg/lib/python3.8/site-packages/PyQt5/Qt/plugins/platforms/libqxcb.so: (/home/malloc/anaconda3/envs/paddleseg/lib/python3.8/site-packages/PyQt5/Qt/lib/libQt5Core.so.5: version `Qt_5.15' not found (required by /home/malloc/anaconda3/lib/libQt5XcbQpa.so.5))
QLibraryPrivate::loadPlugin failed on "/home/malloc/anaconda3/envs/paddleseg/lib/python3.8/site-packages/PyQt5/Qt/plugins/platforms/libqxcb.so" : "Cannot load library /home/malloc/anaconda3/envs/paddleseg/lib/python3.8/site-packages/PyQt5/Qt/plugins/platforms/libqxcb.so: (/home/malloc/anaconda3/envs/paddleseg/lib/python3.8/site-packages/PyQt5/Qt/lib/libQt5Core.so.5: version `Qt_5.15' not found (required by /home/malloc/anaconda3/lib/libQt5XcbQpa.so.5))"
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.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, wayland-egl, wayland, wayland-xcomposite-egl, wayland-xcomposite-glx, webgl, xcb.

解决建议

  • 隔离虚拟环境库依赖:Anaconda全局环境与虚拟环境的Qt库存在冲突,先退出所有环境后重新激活目标环境,运行程序前设置环境变量强制使用虚拟环境内的Qt资源:
    export LD_LIBRARY_PATH=/home/malloc/anaconda3/envs/paddleseg/lib/python3.8/site-packages/PyQt5/Qt/lib:$LD_LIBRARY_PATH
    export QT_PLUGIN_PATH=/home/malloc/anaconda3/envs/paddleseg/lib/python3.8/site-packages/PyQt5/Qt/plugins:$QT_PLUGIN_PATH
    
  • 重装匹配版本的PyQt5:避免随意降级,选择与Ubuntu22默认Qt版本兼容的PyQt5版本。先完全卸载现有相关包:
    pip uninstall -y PyQt5 PyQt5-sip qtpy
    
    再安装适配版本(如5.15.4,与Ubuntu22系统Qt版本匹配):
    pip install PyQt5==5.15.4 qtpy
    
  • 补充系统依赖库:Ubuntu22下Qt的xcb插件需要系统级依赖,安装缺失组件:
    sudo apt-get install libxcb-xinerama0 libxcb-cursor0 libxcb-randr0 libxcb-util-dev
    
  • 验证环境变量:运行程序前确认LD_LIBRARY_PATH和QT_PLUGIN_PATH已正确指向虚拟环境内的Qt路径,防止全局库干扰加载。

内容的提问来源于stack exchange,提问作者Malloc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 10:32:50