版本
- python 3.7.7
- MySQL 8.0.28
- PyQt5 5.12
PyQt5连接MySQL报错
也是在尝试其他博客里说的将MySQL里的qsqlmysql.dll复制粘贴到Qt5的目标文件夹里的方法后,依旧发现会出现QMYSQL driver not loaded,并且查看支持的数据库类型中又包含了QMySQL, QMySQL3。
但是又找不到有人和我问题一样的博客,所以想把自己的解决方案记录下来,作为参考吧。
背景
- 编译器是VS,因为之前做深度学习的时候用的anaconda中的spyder,后来又因为小程序,需要接触到到一些html,js和css,所以就选择的ananconda全家桶里的VS。
- 因为需要用到Django处理MySQL,所以环境配置和anaconda里的配置方法一样,很简单,vs中也可以直接切换。并且在连接MySQL时也只需要安装几个插件就好了。
- 关于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
两个需要结合一起看 - 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/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分钟就解决了问题,但关于这一点依旧不太明白原因。希望有知道的小伙伴可以麻烦留个言。
每个人的情况不一样,对于配置安装类的问题,最好是在卸载,复制,剪切这种操作前,能记录自己的操作,就不至于到后面原问题没有解决又出现了新问题。