Windows下解决办法:
1. 在以下路径中找到MySQL的动态库:libmysql.dll (具体路径由你电脑上MySQL的安装位置决定)
2. 然后将该文件复制到PyQt5包中的Qt/bin路径下就可以了:
注意:如果你的Python版本为32位,那你就需要32位的libmysql.dll动态库,可以去MySQL :: Download MySQL Connector/C (Archived Versions)官网上下载对应的zip文件,解压后复制过来。
Ubuntu下解决办法:
首先进入PyQt5的包中找到libqsqlmysql.so文件,并在当前目录下的命令行中执行ldd libqsqlmysql.so
在白色处,笔者原先显示为libmysqlclient.so.18 => not found
如果你也是相同问题,则只需下载该deb文件,并在文件所在目录下执行以下命令进行安装即可:
文件下载地址(在这里感谢该文件提供者):https://download.csdn.net/download/honcun/10679136
MacOS下解决办法:
注:此处笔者是通过brew install mysql的方法来安装MySQL的。
1. 进入PyQt5安装包,找到libqsqlmysql.dylib这个驱动文件,该文件在笔者电脑上的路径如下:
/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/PyQt5/Qt/plugins/sqldrivers/libqsqlmysql.dylib
在该文件目录下打开命令行窗口,并执行otool -L libqsqlmysql.dylib
此时会发现红框处的动态库的路径和名称与我们实际安装好的路径和名称不同,所以PyQt5才会找不到:
笔者MySQL动态库的路径和名称如下:
/usr/local/Cellar/mysql/8.0.12/lib/libmysqlclient.21.dylib
那我们接下来要做的就是把路径和名称修改掉,同样在libqsqlmysql.dylib该驱动文件所在的目录下打开命令行窗口,输入截图中的命令。该命令分为几个部分:
1. install_name_tool -change 修改命令
2. /usr/local/mysql/lib/libmysqlclient.20.dylib 错误的路径和名称
3. /usr/local/Cellar/mysql/8.0.12/lib/libmysqlclient.21.dylib 正确的路径和名称
4. libqsqlmysql.dylib PyQt5的驱动文件
参考:
Qt 连接 mysql 驱动出错问题 QMYSQL driver not loaded - 简书