QGIS编译时PyQt5相关模块及依赖报错求助
解决QGIS编译时PyQt5/SIP相关错误的方案
我之前编译QGIS时遇到过几乎完全一致的问题,以下是经过验证的解决步骤:
1. 修复SIP与PyQt5版本不兼容问题
错误里提到的Found SIP version: 4.19是核心矛盾之一——新版本PyQt5(5.14+)不再兼容SIP 4.x系列,必须匹配对应的版本组合:
- 先完全卸载现有版本:
pip3 uninstall -y PyQt5 sip - 安装兼容的版本组合(针对QGIS 3.x,推荐稳定搭配):
pip3 install PyQt5==5.15.6 sip==6.6.2注:如果使用的是较旧的QGIS源码分支,可能需要降级到保留
PyQt5.pyqtconfig模块的版本:pip3 install PyQt5==5.12.3 sip==4.19.25
2. 解决pyuic5找不到的问题
pip安装的PyQt5有时不会自动将pyuic5工具添加到系统PATH,导致cmake无法识别:
- 找到Python安装目录下的
Scripts文件夹(比如C:\Python39\Scripts),将其添加到系统环境变量PATH中 - 或者在cmake配置时手动指定工具路径:
cmake -DPYUIC_EXECUTABLE=C:\Python39\Scripts\pyuic5.exe [其他QGIS编译参数]
3. 处理PyQt5.pyqtconfig找不到的问题
新版本PyQt5已经移除了pyqtconfig模块,若你的QGIS源码版本较旧,会触发这个错误:
- 方案一:拉取最新的QGIS源码,官方已更新cmake脚本以适配无
pyqtconfig的PyQt5版本 - 方案二:若必须使用旧源码,按步骤1中提示安装保留
pyqtconfig的PyQt5旧版本
4. 确保cmake识别正确的Python环境
如果系统中有多个Python版本,cmake可能误选了未安装PyQt5的环境:
- 在cmake配置时明确指定目标Python路径:
cmake -DPYTHON_EXECUTABLE=C:\Python39\python.exe [其他QGIS编译参数]
内容的提问来源于stack exchange,提问作者shunshi
相关产品推荐
相关产品推荐

