解決Python的SQLite版本太舊導致無法執行問題

by 11月 28, 20230 Comments

問題

執行Python程式時,顯示以下錯誤訊息:

sqlite3.OperationalError: no such function: json_object
The above exception was the direct cause of the following exception:
......

根據錯誤訊息判斷,為SQLite版本太舊,還不支援新的功能,而Python內建的SQLite(sqlite3)是根據Python而定,Pythob 3.8內建為SQLite 2.6

解決方法1

安裝並使用新版Python,但要考慮模組/套件與Pythob的相容性,如果程式已寫好,建議用方法2

解決方法2

考量到相容性問題,可以只更新Python的SQLite。
首先先到SQLite官網,依您的作業系統下載對應的「Precompiled Binaries」。
將壓縮檔解壓縮後,將「sqlite3.dll」複製python的DLLs資料夾內取代舊版檔案,就完成了。

預設路徑是
C:\Users\USER\AppData\Local\Programs\Python\Python312\DLLs
其中312為Python版本,請依您的Python版本修改

0留言

<