PyQt5 и MySQL. Driver not loaded
Изучаю PyQt5 и MySQL. При попытке соединения с базой данных MySQL получаю сообщение:"Driver not loaded".
Код:
from PyQt5 import QtWidgets, QtSql
import sys
app = QtWidgets.QApplication(sys.argv)
#Открываем БД MySQL
db = QtSql.QSqlDatabase.addDatabase("QMYSQL")
db.setPort(3306)
db.setHostName("localhost")
db.setDatabaseName("mydb")
db.setUserName("root")
db.setPassword("*******")
db.open()
print(db.lastError().text())
print(db.drivers())
db.close()
Output:
Driver not loaded Driver not loaded
['QSQLITE', 'QODBC', 'QODBC3', 'QPSQL', 'QPSQL7']
Process finished with exit code 0
Система:
Windows 7 64x, Python 3.8.3, PyQt5 v5.15.4
Что было сделано:
- Прописал в PATH:
C:\MySQL\bin; C:\MySQL\lib;
C:\ProgramData\Anaconda3\Lib\site-packages\PyQt5\Qt\plugins\sqldrivers;
C:\ProgramData\Anaconda3\Lib\site-packages\PyQt5\Qt5\plugins\sqldrivers;
C:\Users\cash\PycharmProjects\QtProject\venv\Lib\site-packages\PyQt5\Qt5\plugins\sqldrivers;
Добавил в папку с проектом
ibmysql.dll,libmysql.lib,mysqlclient.lib.Пробовал добавлять в папку:
C:\Users\cash\PycharmProjects\QtProject\venv\Lib\site-packages\PyQt5\Qt5\plugins\sqldrivers;
файл qsqlmysql.dll, тогда код работает но вывод следующий:
Process finished with exit code 0
Если же убрать QMYSQL в строке
db = QtSql.QSqlDatabase.addDatabase("")
То вывод
Driver not loaded Driver not loaded
['QSQLITE', 'QMYSQL', 'QMYSQL3', 'QODBC', 'QODBC3', 'QPSQL', 'QPSQL7']
Process finished with exit code 0
Если QMSQL поменять на QSQLITE всё работает, но мне нужно, что бы PyQt5 соединялся с MySQL.
Заранее благодарю сообщество за помощь.