【发布时间】:2018-09-29 22:04:32
【问题描述】:
我需要升级我的 python 3 使用的 sqlite3 版本,但似乎没有明确的答案,我不明白是什么决定了 python 使用的 sqlite3 版本。我正在运行安装了 python 3.6.4 的 CentOS7。 CentOS 安装了 sqlite 版本 3.7.17,我将其升级到 3.23.1,认为 python 也会使用这个从不使用的 sqlite 版本。
import sqlite3
print(sqlite3.sqlite_version)
以下代码仍然给我 3.17。我已经用谷歌搜索了如何升级版本,但大多数 solutions 似乎指的是仅 python 2 的 pysqlite。其他解决方案谈论的是complicated compiling processes,这让我很头疼。
我不明白是什么决定了 python 使用的 sqlite 版本。它是由python版本,操作系统安装的sqlite版本决定的吗?我也在我的 Windows PC 上运行 python 3.6.4,它说我运行的是 3.14.2,所以似乎 sqlite 版本不依赖于 python 版本。
什么决定了 python 使用的 sqlite 版本?有没有更直接的方法来升级 python 3 的 sqlite 版本?
【问题讨论】:
-
Python 根本不使用外部 sqlite3 可执行文件,它使用包含在其自己的发行版中的库。这就是解决方案谈论编译的原因,这是您可以替换它的唯一方法。为什么需要这样做?
-
那为什么我的 CentOS 和 Windows 机器上的相同版本的 python 有非常不同的 sqlite3 版本。我需要新的 sqlite 版本,因为我使用外键添加到数据库的索引似乎没有与旧的 sqlite 版本一起使用。当我使用安装在 CentOS 上的最新版本或我的 windows python 安装中包含的版本时,它确实使用了我的索引。
标签: python linux python-3.x sqlite