QSqlDatabase: QPSQL driver not loaded PyQt5 找不到postgreSQL驱动

    最近使用PyQt5 SQL 连接PostgreSQL执行以下代码,发现读取不到驱动,折腾了2天,测试了网上许多方法,但是没有我想要的效果。

到目前已经解决了,所以大概总结一下过程。

import sys
from PyQt5.QtWidgets import  QApplication
from PyQt5.QtSql import QSqlDatabase, QSqlTableModel, QSqlRecord


def openDatabase():
    db = QSqlDatabase.addDatabase('QPSQL')
    db.setHostName("localhost")  
    db.setDatabaseName("postgres")
    db.setUserName("postgres")
    db.setPassword("1234")
    print( db.open())

if  __name__ == "__main__":
    app = QApplication(sys.argv)    
    openDatabase()
    sys.exit(app.exec_())

  错误如下:

Python 版本 3.7 

SQL版本 PostgreSQL 11

PyQt5版本

Qt5 Version Number is: 5.13.0
PyQt5 Version is: 5.13.0
Sip Version is: 5.0.0

解决方案:

添加数据库的路径到系统变量Path,然后重新电脑!

如:

D:\PostgreSQL\11\lib
D:\PostgreSQL\11\include
D:\PostgreSQL\11\bin

已解决:

 

 总结:

    刚开始我参照网上MYSQL的方式叫libpq.dll 放到QT5的相关文件夹中,但是没有成功。后来怀疑是数据库和Python 的32位与64位不兼容导致,

于是我重装了一个64位的数据库。但是还是提示没有驱动。直到添加路径到系统变量后才可以。最后我又安装了32位的数据库也成功连上了,也就

是说64位是兼容32位的。

posted @ 2020-03-18 17:16  河岸瓶风  阅读(1484)  评论(0编辑  收藏  举报