de1.问题起因:
PyQt5通过QSqlDatabase连接mysql出现“QSqlDatabase: QMYSQL driver not loaded”报错
2.问题原因分析:
1)查看自己的pyqt5的版本:
通过命令行pip show pyqt5,确定自己的版本5.15.4
2)写个小测试程序看看当前pyqt5支持哪些数据库连接驱动
#!/usr/bin/env python3
# -*- coding: utf-8 -*-
' Test Database Drivers'
__author__ = 'TianJiang Gui'
import sys
from PyQt5.QtWidgets import QApplication
from PyQt5.QtSql import QSqlDatabase
if __name__ == '__main__':
app = QApplication(sys.argv)
print(QSqlDatabase.drivers())
sys.exit(app.exec_())
得到的结果:['QSQLITE', 'QODBC', 'QODBC3', 'QPSQL', 'QPSQL7']
没有‘QMYSQL’
3)解决PyQt5支持QMYSQL问题
1)将mysql安装目录下的lib\libmysql.dll拷贝到 PyQt5\Qt5\bin目录下
扫描二维码关注公众号,回复:
14640201 查看本文章
2)在网上找到支持pyqt5.15版本的qsqlmysql.dll文件,并将其拷贝到PyQt5\Qt5\plugins\sqldrivers目录下
4)再次运行上述测试代码
运行结果:
以上结果说明QMYSQL正确安装上了。
最后说明:由于每个人的安装环境,运行环境都不一样,所以一定要注意下载的qsqlmysql.dll文件对应的版本(在此我就不提供了),还有注意文件拷贝的路径(由于我安装了很多python版本,一开始没拷贝到正确的路径,导致测试不成功)。