PyQt5连接MySQL及QMYSQL driver not loaded错误解决


Posted in Python onApril 29, 2020

一、连接语句

from PyQt5.QtSql import QSqlDatabase

db=QSqlDatabase.addDatabase('QMYSQL')
db.setHostName('localhost')
db.setDatabaseName('dbwork')
db.setUserName('users')
db.setPassword('ZDSYS')
db.setPort(3306)
db.open()

二、错误解决

1、提示1:QMYSQL driver not loaded

a、问题分析
python的PyQt5中需要对应版本位数(32/64)的libmysql.dll(MySQL中)。
即:python 32对MySQL 32,python 64对MySQL 64。

b、解决方案
例:
将文件
C:\Program Files\mysql-5.7.26-win32\lib\libmysql.dll
放入文件夹
C:\Users\Administrator\AppData\Local\Programs\Python\Python37\Lib\site-packages\PyQt5\Qt\bin

如安装的MySQL版本位数与python不一致无对应libmysql.dll文件,请下载:
32位:https://cdn.mysql.com/archives/mysql-connector-c/mysql-connector-c-6.1.11-win32.msi
64位:https://cdn.mysql.com/archives/mysql-connector-c/mysql-connector-c-6.1.11-winx64.msi

对应的libmysql.dll目录。
32位:C:\Program Files\MySQL\MySQL Connector C 6.1\lib\libmysql.dll
64位:C:\Program Files(×84)\MySQL\MySQL Connector C 6.1\lib\libmysql.dll
注:只能安装一个。

2、提示2:available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7

问题分析
注意该提示中有无QMYSQL,如果有,按提示1解决,如果没有则是因为PyQt5缺少组件qsqlmysql.dll。

解决方案
卸载现有PyQt5安装固定版本。

pip uninstall PyQt5
pip install PyQt5==5.12.1 #python终端中
pip install --user PyQt5==5.12.1 #anaconda终端中

3、PyQt5文件位置

python3.7:
C:\Users\Administrator\AppData\Local\Programs\Python\Python37\Lib\site-packages\PyQt5\Qt\plugins\sqldrivers\qsqlmysql.dll
anaconda:
C:\Users\Administrator\AppData\Roaming\Python\Python37\site-packages\PyQt5\Qt\plugins\sqldrivers

到此这篇关于PyQt5连接MySQL及QMYSQL driver not loaded错误解决的文章就介绍到这了,更多相关PyQt5连接MySQL内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木! 

Python 相关文章推荐
Python contextlib模块使用示例
Feb 18 Python
Python中type的构造函数参数含义说明
Jun 21 Python
Python3.4实现远程控制电脑开关机
Feb 22 Python
Python3爬虫全国地址信息
Jan 05 Python
元组列表字典(莫烦python基础)
Apr 03 Python
python3实现单目标粒子群算法
Nov 14 Python
django 框架实现的用户注册、登录、退出功能示例
Nov 28 Python
Python自动化操作实现图例绘制
Jul 09 Python
解决python对齐错误的方法
Jul 16 Python
python使用布隆过滤器的实现示例
Aug 20 Python
Python unittest装饰器实现原理及代码
Sep 08 Python
浅谈Python中的函数(def)及参数传递操作
May 25 Python
Python退出时强制运行一段代码的实现方法
Apr 29 #Python
pyinstaller将含有多个py文件的python程序做成exe
Apr 29 #Python
如何使用python切换hosts文件
Apr 29 #Python
Python3.7在anaconda里面使用IDLE编译器的步骤详解
Apr 29 #Python
Python 实现一行输入多个数字(用空格隔开)
Apr 29 #Python
使用Python将图片转正方形的两种方法实例代码详解
Apr 29 #Python
Python通过Pillow实现图片对比
Apr 29 #Python
You might like
php中利用post传递字符串重定向的实现代码
2011/04/21 PHP
php简单实现多语言切换的方法
2016/05/09 PHP
Yii2.0实现生成二维码功能实例
2017/10/24 PHP
PHP检测一个数组有没有定义的方法步骤
2019/07/20 PHP
PHP数组访问常用方法解析
2020/09/05 PHP
通过JS自动隐藏手机浏览器的地址栏实现原理与代码
2013/01/02 Javascript
利用NodeJS的子进程(child_process)调用系统命令的方法分享
2013/06/05 NodeJs
js遍历、动态的添加数据的小例子
2013/06/22 Javascript
多种方法实现load加载完成后把图片一次性显示出来
2014/02/19 Javascript
使用jQuery实现星级评分代码分享
2014/12/09 Javascript
AngularJS基础学习笔记之简单介绍
2015/05/10 Javascript
js验证框架实现代码分享
2016/05/18 Javascript
js接收并转化Java中的数组对象的方法
2016/08/11 Javascript
关于json字符串与实体之间的严格验证代码
2016/11/10 Javascript
fullCalendar中文API官方文档
2017/02/07 Javascript
纯JS实现弹性导航条效果
2017/03/06 Javascript
微信小程序上传图片到服务器实例代码
2017/11/07 Javascript
js与jQuery实现的用户注册协议倒计时功能实例【三种方法】
2017/11/09 jQuery
js实现rem自动匹配计算font-size的示例
2017/11/18 Javascript
Javascript实现运算符重载详解
2018/04/07 Javascript
vue 中使用print.js导出pdf操作
2020/11/13 Javascript
python spyder中读取txt为图片的方法
2018/04/27 Python
Python2与Python3的区别实例总结
2019/04/17 Python
解决Django中多条件查询的问题
2019/07/18 Python
Python使用进程Process模块管理资源
2020/03/05 Python
python应用Axes3D绘图(批量梯度下降算法)
2020/03/25 Python
Craghoppers德国官网:户外和旅行服装
2020/02/14 全球购物
机电专业毕业生推荐信
2013/11/10 职场文书
公司大门门卫岗位职责
2014/06/11 职场文书
中级会计大学生职业生涯规划书
2014/09/16 职场文书
学生个人评语大全
2015/01/04 职场文书
召开会议通知范文
2015/04/15 职场文书
2015年大班保育员工作总结
2015/05/18 职场文书
歼十出击观后感
2015/06/11 职场文书
详解Java实现数据结构之并查集
2021/06/23 Java/Android
SQL Server一个字符串拆分多行显示或者多行数据合并成一个字符串
2022/05/25 SQL Server