QSqlDatabase仅在导入模块时失败连接

时间:2018-10-13 23:13:58

标签: python pyqt pyqt5 qtsql

我的项目中有两个模块(使用PyCharm 2018)。目录结构为:

> my_app (folder)
    > venv (folder)
    > database.py
    > my_app.py
    > libpq.dll

database.py创建连接...

from PyQt5.QtSql import QSqlDatabase

hostName = "localhost"
databaseName = "my_app"
port = 5432
userName = "my_app_admin"
password = "****"


# Connect to database
def connect():
    db = QSqlDatabase.addDatabase("QPSQL")
    db.setHostName(hostName)
    db.setDatabaseName(databaseName)
    db.setPort(port)
    db.setUserName(userName)
    db.setPassword(password)
    ok = db.open()
    print(db.lastError().text(), ok)


if __name__ == "__main__":
    import sys
    from PyQt5.QtWidgets import QApplication
    app = QApplication(sys.argv)
    connect()

运行此模块时,连接正常,打印的文本为True(lastError调用没有错误)。

但是当我从my_app.py调用database.connect()时...

import sys
import database
from PyQt5.QtWidgets import QApplication

app = QApplication(sys.argv)
database.connect()

...连接失败,并显示“未加载驱动程序”错误。

为什么?

谢谢!

0 个答案:

没有答案