我的项目中有两个模块(使用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()
...连接失败,并显示“未加载驱动程序”错误。
为什么?
谢谢!