我在Debian 9.12上安装了Python 3.8和SQLite 3.16.2,我需要升级到较新版本的SQLite。我已经下载并编译了SQLite网站上可用的合并,并将其放在/usr/bin
中,所以当我这样做时
$ sqlite3 --version
我得到 3.32.3 作为响应(这是我编译的版本(。
但是,当我这样做时
$ python3.8
>>> import sqlite3
>>> sqlite3.sqlite_version
我得到 3.16.2,这是早期版本。如何更改 Python 选取的 SQLite 版本?
Mkrieger1建议这个问题可以回答我的问题。它在这里不起作用,因为那里提供的解决方案是针对 Python 2,而不是 Python 3。pysqlite2
不适用于 Python 3。
就我而言,我无法用较新版本替换,因为我找不到这些文件。(我安装了 sqlite-autoconf-3350500(
我使用了另一种方式让它工作,只需执行以下命令
export LD_LIBRARY_PATH="/usr/local/lib"
>>> import sqlite3
>>> sqlite3.sqlite_version
'3.35.5'
我解决方法是找出您正在导入的旧 sqlite 版本的路径:
import sqlite3
print(sqlite3.__file__)
对我来说,这输出:
C:UsersYOUR_USERNAME_HEREAppDataLocalProgramsPythonPython38libsqlite3__init__.py
转到库路径:
C:UsersYOUR_USERNAME_HEREAppDataLocalProgramsPythonPython38lib
然后找到 sqlite3 文件夹并将其删除,然后将其替换为最新版本。重试:
>>> import sqlite3
>>> sqlite3.sqlite_version
您应该获得新版本。