У меня есть два модуля в моем проекте (используя 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 call).
Но когда я вызываю database.connect () из my_app.py ...
import sys
import database
from PyQt5.QtWidgets import QApplication
app = QApplication(sys.argv)
database.connect()
... соединение не устанавливается с ошибкой «Драйвер не загружен».
Почему?
Спасибо!