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