MSYS环境下PyQt从5升级到6后导入QtCore报DLL加载失败如何解决
MSYS2环境PyQt6导入QtCore DLL加载失败修复步骤
- 确认运行Python的终端为MSYS2 Mingw-w64 64-bit终端,而非默认MSYS终端、系统CMD/PowerShell:不同终端的PATH环境变量独立,非Mingw终端无法识别
/mingw64/bin目录下的Qt依赖DLL - 检查是否安装Qt6基础运行库,执行命令:
该包为PyQt6的核心依赖,部分场景下不会随pacman -S --needed mingw-w64-x86_64-qt6-basepython-pyqt6自动安装,缺失会直接触发QtCore加载失败 - 排查旧版本PyQt5冲突,卸载残留PyQt5包:
pacman -Rs mingw-w64-x86_64-python-pyqt5 - 确认当前调用的Python为Mingw版本,而非系统自带/单独安装的Python版本,执行命令查看Python路径:
返回结果应为which python/mingw64/bin/python.exe,若指向其他路径需调整环境变量优先级,避免混用不同架构的Python环境 - 手动定位QtCore.pyd缺失的依赖项,执行ldd命令(替换命令中Python版本号为你当前安装的版本,如3.10、3.12):
查看输出中标记为ldd /mingw64/lib/python3.11/site-packages/PyQt6/QtCore.pydnot found的DLL项,安装对应缺失的依赖包即可 - 上述操作完成后重新安装PyQt6相关组件:
pacman -S --overwrite '*' --needed mingw-w64-x86_64-python-pyqt6 mingw-w64-x86_64-python-pyqt6-sip - 验证修复结果:重新打开Mingw终端,执行命令正常输出版本号即为修复完成
python -c "from PyQt6 import QtCore; print(QtCore.PYQT_VERSION_STR)"
内容的提问来源于stack exchange,提问作者Chris P
相关产品推荐
相关产品推荐

