Ubuntu 22.04中PyQT5启动报错:未找到_ZdaPvm符号
Ubuntu 22.04下PyQT5导入符号缺失问题的解决方案
检查系统Qt库兼容性
Ubuntu 22.04默认预装Qt 5.15.3,你使用的PyQt5版本(5.15.7/5.15.2)与系统库可能存在ABI不匹配。先确认系统Qt版本:qmake --version要保证PyQt5的编译版本与系统Qt的ABI一致,避免混合不同版本Qt库引发符号缺失。
改用系统源安装PyQt5
卸载虚拟环境内的PyQt5:pip uninstall pyqt5 pyqt5-sip -y安装系统源提供的适配版本:
sudo apt install python3-pyqt5此方式能确保PyQt5与系统Qt库完全兼容,从根源避免符号不匹配问题。
强制基于系统Qt编译PyQt5(若需保留pip安装)
先安装编译依赖:sudo apt install build-essential python3-dev qtbase5-dev qt5-qmake清理pip缓存后,强制从源码编译安装:
pip cache purge pip install pyqt5 --no-binary :all:编译后的PyQt5会适配当前系统的Qt库,确保符号匹配。
修正虚拟环境的库加载路径
若虚拟环境加载了旧版Qt库,运行软件前重置环境变量:export LD_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu/qt5/lib:$LD_LIBRARY_PATH也可将该命令添加到虚拟环境的
activate脚本中,确保每次激活环境时优先使用系统Qt库。
内容的提问来源于stack exchange,提问作者Maloi
相关产品推荐
相关产品推荐

