相关版本说明:
python版本:Python 3.6.5
PyQt5版本:PyQt5 5.11.3
PyQt5 5.11.3 是有 qsqlmysql.dll 的
但是连接mysql数据库时,还是提示 Driver not loaded Driver not loaded
算往下看
直接上代码和图片
from PyQt5.QtSql import QSqlDatabase
db = QSqlDatabase("QMYSQL")
db.setHostName("localhost")
db.setPort(3306)
db.setDatabaseName("students_db")
db.setUserName("root")
db.setPassword("root")
f = db.open()
print(db.driverName(), "aaaaa")
print(db.lastError().text())
print(f)
原因:这是因为 PyQt5安装时,缺少了 libmysql.dll 扩展文件。
PyQt5的扩展文件目录在:Lib\site-packages\PyQt5\Qt\bin\ 如下图:
解决方案,如下:
第一种:
找到安装Mysql数据库的目录下 MySQL\MySQL Server xx\lib\ 找到 libmysql.dll 文件,复制到PyQt5目录下的 Lib\site-packages\PyQt5\Qt\bin\ ,如下图:
第二种:
由于笔者没有安装Mysql数据库,用的是phpstudy集成环境,集成环境中没有 libmysql.dll 文件。不管是bin目录下还是其他目录下都没有找到 libmysql.dll 文件,如下图:
百度了一下,说的是phpstudy集成环境没有这个 libmysql.dll 文件,发下图:
那怎么办呢?继续往下看。
我们可以去MySQL官网下载对应的zip压缩包,如下:
官网址址:https://downloads.mysql.com/archives/c-c/
由于笔者的python解释器是64位的,所以我就选择了剪头指向的 Windows (x86, 64-bit), ZIP Archive 压缩包下载了。打开压缩包,如下图:
拿到 libmysql.dll 文件,复制到 Lib\site-packages\PyQt5\Qt\bin\ 下即可,如下图:
再次执行代码:
打开成功。
----结束----。
仅学习。