我正在尝试使用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