Windows PySide6 MySQL驱动问题

环境信息

  • Windows 11 家庭中文版 64 位操作系统 23H2
  • Python 3.12.4
  • PySide 6.6.0
  • MySQL 8.0.38

问题描述

安装PySide 6.6.0后连接MySQL时出现以下错误信息:

1
2
3
D:\gitee\Scrat> & d:/gitee/Scrat/.venv/Scripts/python.exe d:/gitee/Scrat/main.py
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMIMER QODBC QPSQL

根据错误信息可以清晰看出,在可获取的驱动中中没有MySQL,这是因为PySide6没有内置MySQL的驱动。官方或网上通常的解决方案是自行编译。

问题解决

这里介绍一个不需要自行编译的解决方法,参考网址:https://github.com/thecodemonkey86/qt_mysql_driver。注意,一定要下载跟自己安装的PySide一致的版本。

按照说明将驱动文件拷贝至个人安装目录,如我在虚拟环境下安装的位置:

完成后,再次运行出现以下错误:

1
2
3
D:\gitee\Scrat> & d:/gitee/Scrat/.venv/Scripts/python.exe d:/gitee/Scrat/main.py
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMIMER QMARIADB QMYSQL QODBC QPSQL

可以看出MySQL驱动已经存在,未加载成功是因为缺少其他库。从MySQL安装目录下,拷贝以下3个动态库到PySide安装目录,如下图:

拷贝后的目录截图: