python - 未加载 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())
解决方案
推荐阅读
- javascript - 应用 Js 显示或隐藏元素
- aws-lambda - FIFO Sqs 和 AWS Lambda 中的奇怪行为
- vscode-settings - VS Code 将右边距设置为文本
- php - imageMagick 脚本在 Windows 上正常工作,但在 ubuntu 服务器上不能正常工作
- solr - 如何在不删除核心的情况下重新索引 Solr 中的数据?
- in-app-purchase - 创建 localiap 购买时没有收据
- react-native - 如何解决找不到com.android.tools.build:gradle:4.1.1.?
- python - 使用多项式拟合几个结果的保质期预测
- css - Noto Serif 字体的网络版本似乎缺少匕首字符,尽管谷歌说这个字符确实存在
- flutter - 如何使用 unicode 显示带有 FontAwesome 颤动的图标?