本文已参与「新人创作礼」活动,一起开启掘金创作之路。
Qt/PyQt无法连接数据库问题解决方案
前言
首先运行以下两行代码,如果与下文所述一致则可以采用该解决方案 PS:报错工具类未安装的话(ModuleNotFoundError: No module named 'XXX'),WIN+R打开命令行,直接通过pip命令pip istall XXX对应工具类即可
from PyQt5.QtSql import QSqlDatabase
print(QSqlDatabase.drivers())
运行后会显示系统目前多安装的驱动,展示所有驱动,其中有些驱动是连接数据库必备的,Qt/PyQt无法连接数据库问题主要就是由缺少对应驱动所引起的
如果运行上述代码后。运行结果缺少下图所示的'QMYSQL', 'QMYSQL3',则是系统里缺少这两个驱动,直接把现成的驱动移到对应的文件夹即可,用以下方法解决
解决方案
把 libmysql.dll 与 qsqlmysql.dll 两个现成的驱动文件移到下图红框所在的路径下(该路径即为你所安装Pyqt的位置路径),每个人的路径不同大致路径如下(根据自己的情况找到plugins\sqldrivers)就可以:
正常python:python\Lib\site-packages\PyQt5\Qt5\plugins\sqldrivers
Anaconda:Anaconda\Lib\site-packages\PyQt5\Qt5\plugins\sqldrivers
QT:Qt5.12\5.12\msvc\plugins\sqldrivers
两个文件的下载如下:
CSDN下载点【这里】百度云下载点【这里】提取码2333,可以的话用CSDN积分下载支持一下叭
一些错误
如果报错 Cannot mix incompatible Qt library (XXX) with this library (XXX) 则是版本不匹配问题 运行下面两行代码降版本到pyqt5.12.1
pip uninstall pyqt
pip install pyqt == 5.12.1
#下面这两行不一定要运行
#pip uninstall pyqt-tools
#pip install pyqt-tools