首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >[PyQt5]PyQt5连接MYSQL时显示Driver not loaded解决方案

[PyQt5]PyQt5连接MYSQL时显示Driver not loaded解决方案

作者头像
云未归来
发布2025-07-17 12:28:35
发布2025-07-17 12:28:35
4230
举报

在第一次用PyQt5QSqlDatabase.addDatabase 连接mysql的时候,可能会出现Driver not loaded的情况,如下:

代码语言:javascript
复制
from PyQt5.QtSql import QSqlQuery, QSqlDatabase
from PyQt5.QtWidgets import QApplication
import sys
 
app = QApplication(sys.argv)
 
try:
    db = QSqlDatabase.addDatabase('QMYSQL')
    db.setHostName(ip)
    db.setPort(3306)
    db.setDatabaseName('cat')
    db.setUserName('root')
    db.setPassword('password')
    if db.open():
        print("打开了")
    else:
        print(db.lastError().text())

不出所料,连接失败。如果连接成功,恭喜你,直接叉掉就好。

2.查询支持的数据库驱动 利用下述代码查询目前所支持的数据库驱动

from PyQt5.QtSql import QSqlDatabase print(QSqlDatabase.drivers()) ['QSQLITE', 'QODBC', 'QODBC3', 'QPSQL', 'QPSQL7']

输出结果无 'QMYSQL', 'QMYSQL3'

说明缺少libmysql.dll 文件首先这个问题是肯定缺少DLL导致,有人说F:\Program Files\MySQL\MySQL Server 8.0\lib去找到这个DLL后,将libmysql.dll 复制到F:\anaconda\envs\pytorch\Lib\site-packages\PyQt5\Qt\bin,其实这种方法不正确哦,我们需要到

https://github.com/thecodemonkey86/qt_mysql_driver/releases

找到对应pyqt5版本文件,比如我的pyqt5==5.13.2 mysql==8.0.32版本可以下

之后将dll复制到 F:\anaconda\envs\pytorch\Lib\site-packages\PyQt5\Qt\bin,而且libssl-1_1-x64.dll和libcrypto-1_1-x64.dll都要复制才行,提示覆盖可以选择跳过。

注意:python的版本如果是32位的,那就必须要找32位的libmysql文件,不然待会进行了第二步也会报Driver not loaded错误。

通过以下代码查看版本信息 from PyQt5.QtCore import QT_VERSION_STR from PyQt5.Qt import PYQT_VERSION_STR

print('Qt 版本:', QT_VERSION_STR) print('PyQt 版本:', PYQT_VERSION_STR)

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-07-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档