Python+PyQt5+Mysql(一)解决PyQt5连接MySql驱动问题

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安装目录下的liblibmysql.dll拷贝到 PyQt5Qt5in目录下

2)在网上找到支持pyqt5.15版本的qsqlmysql.dll文件,并将其拷贝到PyQt5Qt5pluginssqldrivers目录下

4)再次运行上述测试代码

运行结果:

以上结果说明QMYSQL正确安装上了。

最后说明:由于每个人的安装环境,运行环境都不一样,所以一定要注意下载的qsqlmysql.dll文件对应的版本(在此我就不提供了),还有注意文件拷贝的路径(由于我安装了很多python版本,一开始没拷贝到正确的路径,导致测试不成功)。

经验分享 程序员 微信小程序 职场和发展