PyQt 5接続MySQLとQMYSQL driver not loadedエラー解決


一、接続語句

from PyQt5.QtSql import QSqlDatabase

db=QSqlDatabase.addDatabase('QMYSQL')
db.setHostName('localhost')
db.setDatabaseName('dbwork')
db.setUserName('users')
db.setPassword('ZDSYS')
db.setPort(3306)
db.open()

二、エラー解決
1、ヒント1:QMYSQL driver not loaded
a、問題分析
pythonのPyQt 5には対応バージョン数(32/64)のlibmysql.dll(MySQL中)が必要です。
すなわち、python 32はMySQL 32、python 64はMySQL 64に対するものである。
b、ソリューション
例:
ファイルを
C:\Program Files\mysql-5.5.26-win 32\libmysql.dll
フォルダに入れる
C:\Users\Administrator\Appdata\Local\Programs\Python\Python 37\Lib\site-packages\PyQt 5\Qt\bin
もしインストールされたMySQLバージョンのビット数がpythonと一致しない場合、libmysql.dllファイルはありません。ダウンロードしてください。
32位:https://cdn.mysql.com/archives/mysql-connector-c/mysql-connector-c-6.1.11-win32.msi
64位:https://cdn.mysql.com/archives/mysql-connector-c/mysql-connector-c-6.1.11-winx64.msi
対応するlibmysql.dllディレクトリです。
32位:C:\Program Files\MySQL\MySQL Connector C 6.1\lib\libmysql.dl
64位:C:\Program Files(×84)\MySQL\MySQL Connector C 6.1\lib\libmysql.dll
注:一つしか取り付けられません。
2、ヒント2:available drivers:QSQLITE QMYSQL 3 QODBC 3 QPSQL QPSQL 7
問題の分析
このヒントの中にQMYSQLがありますか?もしあるなら、ヒント1で解決します。もしないなら、PyQt 5がコンポーネントqsqlmysql.dlに欠けているからです。
ソリューション
既存のPyQt 5をアンインストールし、固定バージョンをインストールします。

pip uninstall PyQt5
pip install PyQt5==5.12.1 #python   
pip install --user PyQt5==5.12.1 #anaconda   
3、PyQt 5ファイルの位置
python 3.7:
C:\Users\Administrator\Appdata\Local\Programs\Python\Python 37\Lib\site-packages\PyQt 5\plugins\sqldrivers\qlmysql.dl
アナコンダ:
C:\Users\Administrator\Appdata\Roming\Python 37\site-packages\PyQt 5\Qt\plugins\sqldrivers
ここでは、PyQt 5接続MySQLとQMYSQL driver not loadedのエラー解決に関する記事を紹介します。PyQt 5接続MySQLの詳細については、以前の記事を検索したり、下記の関連記事を見たりしてください。これからもよろしくお願いします。