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

Windows10下Python3.9+PyQt5.15+MySQL8.1的QMYSQL驱动加载问题求解

解决Windows 10下Python3.9+PyQt5.15+MySQL的QMYSQL驱动加载问题

一、已验证兼容的版本组合

Python3.9(64位) + PyQt5.15.2(对应Qt5.15.x) + MySQL8.0.30(64位)是经过实测可以正常运行QMYSQL驱动的组合。你当前使用的MySQL8.1版本较新,PyQt5.15基于的Qt5.15对其兼容性不足,这大概率是驱动加载失败的核心原因。

二、明确缺失的文件与查找路径

你遇到的问题核心是两个关键文件的缺失或版本不匹配:

  1. qsqlmysql.dll:PyQt5的QMYSQL驱动文件

    • 查找路径:Python安装目录下的PyQt5插件目录,例如你的路径:
      C:\Users\bobse\AppData\Local\Programs\Python\Python39\Lib\site-packages\PyQt5\Qt5\plugins\sqldrivers
      
    • 如果该目录下没有这个文件,说明PyQt5安装时未包含QMYSQL驱动,需要重新安装带完整驱动的PyQt5,或从Qt官方安装包中提取对应Qt5.15版本的驱动文件。
  2. libmysql.dll:MySQL客户端动态库,是qsqlmysql.dll的依赖文件

    • 查找路径:
      • 系统PATH中包含的MySQL bin目录(你的PATH里有C:\Program Files\MySQL\MySQL Server 8.0\bin,里面有该文件,但版本是8.0)
      • 也可以放在PyQt5的sqldrivers目录下,或你的Python脚本执行目录中
    • 注意:PyQt5.15的驱动不兼容MySQL8.1版本的libmysql.dll,必须使用MySQL8.0.x版本的文件。

三、具体解决步骤

  1. 确认驱动文件存在
    前往上述sqldrivers目录,检查是否有qsqlmysql.dll和qsqlmysql.dll(调试版)。若缺失,可通过以下方式获取:

    • 重新安装PyQt5时指定完整驱动:pip install pyqt5 --no-cache-dir(确保安装包包含驱动)
    • 从Qt官方下载Qt5.15.x的Windows安装包,选择对应64位版本,安装后在Qt5.15.x\5.15.x\msvc2019_64\plugins\sqldrivers目录下提取qsqlmysql.dll。
  2. 替换匹配版本的libmysql.dll

    • 下载MySQL8.0.30的64位客户端包(无需完整安装服务器,仅提取libmysql.dll即可)
    • 将该文件复制到以下任意位置:
      • PyQt5的sqldrivers目录
      • 你的Python脚本所在目录
      • 替换PATH中MySQL8.1目录下的同名文件(注意备份原文件)
  3. 验证驱动加载状态
    运行以下代码查看可用SQL驱动:

    from PyQt5.QtSql import QSqlDatabase
    print(QSqlDatabase.drivers())
    

    若输出包含QMYSQL,说明驱动已找到;若仍未出现,检查qsqlmysql.dll的依赖(可使用Dependency Walker工具查看缺失项,通常是VC运行库,需安装VS2019版本的VC Redistributable)。

  4. 检查VC++运行库依赖
    Qt5.15编译依赖VS2019的VC运行库,若系统未安装,会导致驱动无法加载。前往微软官网下载并安装**Microsoft Visual C Redistributable for Visual Studio 2019**(64位版本)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 04:01:07