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位的。


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM