I am trying to use PyQt5 to connect to a MySql server using the script below: (my platform is 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');
However I get the below error message and I am really out of any clue.
QSqlDatabase: QMYSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7
Driver not loaded Driver not loaded
QSqlQuery::exec: database not open
It is really weird I do have exact same issue on Windows 10 but for postgresql.
I just don't understand because the shared libraries seems to exist in the right place:
$ ls /usr/local/lib/python3.6/dist-packages/PyQt5/Qt/plugins/sqldrivers/
libqsqlite.so libqsqlmysql.so libqsqlpsql.so