首页 > 解决方案 > 未加载 Linux Mint 20 驱动程序中的 PyQt5、QPSQL

问题描述

我知道这个问题已经被问过很多次了,我已经阅读了很多,但没有成功解决我的问题。我安装了 Linux mint 20。我使用 vs-code 和 pyqt5 作为编程接口。我的问题是 QPSQL。如果我编写如下QSqlDatabase.addDatabase()命令:

connectDB = QSqlDatabase.addDatabase("QPSQL",'mydb')

它会引发我设置的错误 connectDB.setHostName("ella.db.elephantsql.com")connectDB.setHostName("localhost")

dataQSqlQuery::exec: database not openbase is not open     
QSqlQuery.lastError().text():Driver not loaded , Driver not loaded.

但是如果我在 localhost 中使用上面的命令,它工作得很好,但不是远程主机:

connectDB = QSqlDatabase.addDatabase("QPSQL")

远程主机再次出现相同的错误:

QSqlQuery.lastError().text():Driver not loaded , Driver not loaded.

主机和用户名和...没有问题,因为它们postbird与 . 和psycopg2. 我应该怎么办?

我尝试了https://doc.qt.io/qt-5/sql-driver.html#how-to-build-the-qpsql-plugin-on-unix-and-macos 但出现此错误:

> yousef@LPTP:~$ cd $QTDIR/qtbase/src/plugins/sqldrivers
> bash: cd: /qtbase/src/plugins/sqldrivers: No such file or directory

我安装了 qtbase5-dev-tools 和 qtbase5-examples 但没有成功。这是一个简单的代码:

from PyQt5.QtSql import QSqlDatabase, QSqlQuery

connectDB = QSqlDatabase.addDatabase("QPSQL",'mycon')
connectDB.setHostName("ella.db.elephantsql.com")
connectDB.setDatabaseName("tqyqcvoz")
connectDB.setPort(5432)
connectDB.setUserName('tqyqcvoz')
connectDB.setPassword('******')
connectDB.open()
query =QSqlQuery()
query.exec("select * from table1")
print(query.lastError().text())

标签: pythonpyqt5qsqldatabase

解决方案


推荐阅读