费了三四天的功夫,终于将问题搞定了,将解决方法公布,希望对大家有用。
首先在网上搜索“pyqt5 driver not loaded”,出来几篇文章,比较管用的是:
1、PyQt5连接MYSQL时显示Driver not loaded解决方案;
https://blog.csdn.net/qq_38198744/article/details/80261695
2、pyqt5 QMYSQL driver not loaded
https://blog.csdn.net/zhujiabiao/article/details/71172177
但按所説方法去做均没有能解决问题,但按第二篇文章的错误提示:
错误:
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
QSqlDatabase: an instance of QCoreApplication is required for loading driver plugins
查一下本机上available drivers有哪些,命令是:print(QtSql.QSqlDatabase.drivers()),结果显示,没有QMYSQL,算是找到问题根源了,那就重新安装PyQt5,在anaconda3中安装PYQt5老会有些问题,报的错是:
spyder 3.3.2 has requirement pyqt5<5.10; python_version >= "3", but you'll have pyqt5 5.11.3 which is incompatible.
找到另外一篇文章:
PYQT5 安装遇到的坑
https://blog.csdn.net/alai986/article/details/86035408
按文章中的说法,用pip install pyqt5==5.12.0 安装PyQt5,果然成功,再运行程序,成功了,不报driver not loaded的错了。
综上所述,前两篇文章也有用,但忽略了一个问题,就是PyQT5安装不正确的情况,用pip install PyQt5,默认安装的是pyqt5 5.11.3,这个版本有问题。