Я пытаюсь использовать PyQt5 для подключения к серверу MySql, используя приведенный ниже скрипт: (моя платформа - Ubuntu 18.04)
from PyQt5.QtSql import QSqlDatabase, QSqlQuery, QSqlTableModel
from PyQt5.QtWidgets import QTableView, QApplication
import sys
app = QApplication(sys.argv)
db = QSqlDatabase.addDatabase('QMYSQL')
db.setHostName('127.0.0.1')
db.setDatabaseName('ems_db')
db.setUserName('ems_user')
db.setPassword('emspasswd')
ok = db.open()
if not ok: print(db.lastError().text())
else: print("connected")
query = QSqlQuery(db);
query.exec_('SELECT * FROM tbl_Customers');
Однако я получаю следующее сообщение об ошибке, и у меня действительно нетподсказка.
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7
Driver not loaded Driver not loaded
QSqlQuery::exec: database not open
Это действительно странно, у меня точно такая же проблема в Windows 10, но для postgresql.
Я просто не понимаю, потому что общие библиотеки, кажется, существуют в правильномместо:
$ ls /usr/local/lib/python3.6/dist-packages/PyQt5/Qt/plugins/sqldrivers/
libqsqlite.so libqsqlmysql.so libqsqlpsql.so