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

Win10安装pyqt6-tools后导入QtGui提示找不到指定程序错误求助

问题根因

从你提供的已安装包列表可以直接定位故障:PyQt6 Python绑定层与底层Qt6运行库版本不匹配:

  • PyQt6(Python侧绑定包)版本为6.1.0
  • PyQt6-Qt6(Qt官方原生二进制运行库)版本为6.3.0
    两个包大版本不一致,绑定层调用QtGui模块的函数入口时找不到对应地址,就会抛出你看到的ImportError: DLL load failed while importing QtGui: The specified procedure could not be found报错。
    这个问题是旧版pyqt6-tools的依赖声明缺陷导致的:它没有锁定对应PyQt6-Qt6的版本范围,pip安装时会自动拉取最新版的Qt6运行库,直接造成版本错配,哪怕新建虚拟环境也会复现。
修复步骤

按顺序执行以下操作即可解决:

  1. 彻底清理当前环境中所有PyQt6相关的包,避免残留旧版本文件干扰:
pip uninstall -y PyQt6 PyQt6-Qt6 PyQt6-sip pyqt6-plugins pyqt6-tools qt6-applications qt6-tools
  1. 安装时强制指定所有组件版本对齐,不要让pip自动解析依赖版本:
pip install pyqt6-tools==6.3.0 PyQt6==6.3.0 PyQt6-Qt6==6.3.0

选择6.3.0版本是因为该版本的pyqt6-tools依赖配置正常,所有关联组件版本完全匹配,不会出现错配问题。
3. 修复你测试代码里的笔误:你贴的示例代码中.show()前漏写了窗口对象名,修正后的可运行测试代码如下:

from PyQt6.QtWidgets import QApplication, QWidget
import sys
    
app = QApplication(sys.argv)
window = QWidget()
window.show()
sys.exit(app.exec())

运行这段代码如果能正常弹出空白窗口,说明环境已经修复完成。

后续使用注意事项
  • 不要在安装pyqt6-tools后单独执行pip install --upgrade pyqt6,这类操作会单独升级PyQt6绑定层,极易再次触发版本错配
  • 后续如果需要升级PyQt6相关包,必须保证PyQt6和PyQt6-Qt6的版本号完全一致,哪怕小版本号不同都可能引发DLL加载错误
  • 每次安装/升级完成后,可以执行pip list | findstr PyQt6检查版本,确认两个核心包版本对齐后再开始开发

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 19:48:29