Pyqt5 配置显示支持QMySQL,但依旧提示QMySQL driver not loaded

版本

  1. python 3.7.7
  2. MySQL 8.0.28
  3. PyQt5 5.12

PyQt5连接MySQL报错

也是在尝试其他博客里说的将MySQL里的qsqlmysql.dll复制粘贴到Qt5的目标文件夹里的方法后,依旧发现会出现QMYSQL driver not loaded,并且查看支持的数据库类型中又包含了QMySQL, QMySQL3。

但是又找不到有人和我问题一样的博客,所以想把自己的解决方案记录下来,作为参考吧。

背景

  1. 编译器是VS,因为之前做深度学习的时候用的anaconda中的spyder,后来又因为小程序,需要接触到到一些html,js和css,所以就选择的ananconda全家桶里的VS。
  2. 因为需要用到Django处理MySQL,所以环境配置和anaconda里的配置方法一样,很简单,vs中也可以直接切换。并且在连接MySQL时也只需要安装几个插件就好了。
  3. 关于MySQL的安装,可以参考:
    https://www.bilibili.com/video/BV1EJ411p7Ty?from=search&seid=7527882280434840224&spm_id_from=333.337.0.0&vd_source=db25f15647e051a6eee39994309a8c27
    视频中提到的my.ini文件内容,可以参考:
    https://blog.csdn.net/qq_36246184/article/details/108754775?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164838040916781683995591%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=164838040916781683995591&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-108754775.142%5ev5%5epc_search_result_control_group,143%5ev6%5econtrol&utm_term=vs+code+mysql&spm=1018.2226.3001.4187
    两个需要结合一起看
  4. VS连接MySQL参考:
    https://www.bilibili.com/video/BV1DU4y1R7CF?from=search&seid=13975982503021834414&spm_id_from=333.337.0.0&vd_source=db25f15647e051a6eee39994309a8c27

安装PyQt5并连接MySQL

步骤一:安装PyQt5

我用的cmd命令符的方式安装,但请不要直接使用pip install PyQt5。
请用以下两个代码:

pip install --upgrade --user pyqtwebengine==5.12
pip install --upgrade --user pyqt5==5.12

然后就是把该添加到环境配置的添加。

我在很多博客中都有看到,大家卸了装,装了卸,最终选择5.12版本成功的机率相对较好。不过这个也得要看python的版本,以及是否支持。

最开始我用的也是pip install PyQt5,就出现了spyder版本不支持的提示。因为本机里有环境为django的spyder编译器,所以有提示。如果是pycharm不知道会不会有提示。有知道的小伙伴也请麻烦告诉我一声,交流学习。

步骤二:复制粘贴libmysql.dll

这个步骤也是最多被人提起的,所以就不多阐述了,而且有很多博主已经解释地很详细了。给一个参考博客:
https://blog.csdn.net/La_vie_est_belle/article/details/83038159?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165905750316782350878167%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=165905750316782350878167&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~pc_rank_34-8-83038159-null-null.142%5ev35%5epc_rank_34&utm_term=pyqt5%E8%BF%9E%E6%8E%A5mysql&spm=1018.2226.3001.4187

步骤三:验证是否成功

经过之前的教训,明白查看支持的数据库种类并不代表连接成功,所以最好的是能在某个数据库中创建表格来以此证明成功。大家可以用其他的方法,也可以试试自己的代码,这里我也给一个参考博客:
https://blog.csdn.net/weixin_38233550/article/details/123474783?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522165905750316782350878167%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=165905750316782350878167&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_ecpm_v1~pc_rank_34-7-123474783-null-null.142%5ev35%5epc_rank_34&utm_term=pyqt5%E8%BF%9E%E6%8E%A5mysql&spm=1018.2226.3001.4187

写在最后

一个有意思的事情是,有的人安装好的Pyqt5中既有Qt5也有Qt,于是关于复制粘贴libmysql.dll就有两种不同的说法。

最开始用pip install安装时,我也有Qt5和Qt,但是Qt里内容很少。以至于我将libmysql.dll复制到Qt5出现了虽然支持,但依旧找不到driver的问题时,我怀疑是不是Qt文件夹才是关键的文件夹。

但是后来重新安装后,Qt文件夹消失,并且所有流程一致后,居然成功了。虽然很幸运只花了30分钟就解决了问题,但关于这一点依旧不太明白原因。希望有知道的小伙伴可以麻烦留个言。

每个人的情况不一样,对于配置安装类的问题,最好是在卸载,复制,剪切这种操作前,能记录自己的操作,就不至于到后面原问题没有解决又出现了新问题。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值