如何更改Python使用的SQLite版本?

Xeo*_*oth 6 python sqlite debian python-3.x

我在 Debian 9.12 上安装了 Python 3.8 和 SQLite 3.16.2,并且需要升级到较新版本的 SQLite。我已经下载并编译了 SQLite 网站上可用的合并,并将其放入 中/usr/bin,所以当我这样做时

$ sqlite3 --version
Run Code Online (Sandbox Code Playgroud)

我得到 3.32.3 响应(这是我编译的版本)。

然而,当我这样做时

$ python3.8
>>> import sqlite3
>>> sqlite3.sqlite_version
Run Code Online (Sandbox Code Playgroud)

我得到的是 3.16.2,这是早期版本。如何更改 Python 选择的 SQLite 版本?

mkrieger1 建议这个问题可以回答我的问题。它在这里不起作用,因为那里提供的解决方案是针对 Python 2,而不是 Python 3。pysqlite2不适用于 Python 3。

zhu*_*wei 7

就我而言,我无法替换为较新的版本,因为我找不到这些文件。(我安装了sqlite-autoconf-3350500)

我用另一种方式让它工作只需执行下面的命令

export LD_LIBRARY_PATH="/usr/local/lib"

>>> import sqlite3
>>> sqlite3.sqlite_version
'3.35.5'
Run Code Online (Sandbox Code Playgroud)


小智 1

我解决这个问题的方法是找出您要导入的旧 sqlite 版本的路径:

import sqlite3
print(sqlite3.__file__)
Run Code Online (Sandbox Code Playgroud)

对我来说,这输出:

C:\Users\YOUR_USERNAME_HERE\AppData\Local\Programs\Python\Python38\lib\sqlite3\__init__.py
Run Code Online (Sandbox Code Playgroud)

进入lib路径:

C:\Users\YOUR_USERNAME_HERE\AppData\Local\Programs\Python\Python38\lib
Run Code Online (Sandbox Code Playgroud)

然后找到 sqlite3 文件夹并将其删除,然后将其替换为您的最新版本。重试:

C:\Users\YOUR_USERNAME_HERE\AppData\Local\Programs\Python\Python38\lib\sqlite3\__init__.py
Run Code Online (Sandbox Code Playgroud)

你应该得到你的新版本。