我可以在 python 中使用更高版本的 sqlite3 吗?

Posted

技术标签:

【中文标题】我可以在 python 中使用更高版本的 sqlite3 吗?【英文标题】:Can I use a later of version of sqlite3 with python? 【发布时间】:2016-04-30 22:12:55 【问题描述】:

我使用的是 python 3.5.1,它带有 3.8.11 的 sqlite 版本。我想知道我是否可以在我当前的 python 中使用另一个版本的 sqlite(比如现在的latest one)。如果答案是肯定的,那么我该怎么做?向here学习我试过这个,但它没有做任何事情:

pip install sqlite3 --upgrade

我在需要全文搜索的 django 项目中使用 sqlite3。所以我在阅读this,有一次我很想使用 sqlite3 的latest version,因为它说它比以前的版本有一些改进,这对我来说似乎很有趣。无论如何,是否可以在不升级python的情况下使用更高版本的sqlite3?


注意:这个问题几乎完全重写了,所以很多 cmets 可能看起来无关紧要。感谢Alasdair,我才知道上一个问题没有任何意义,所以我重新写了。

【问题讨论】:

sqlite3 是 Python 安装 的一部分,不是外部库,因此不能使用 pip 升级。我不确定 sqlite3 是否可以在不升级到新版本的 Python 的情况下升级。做一个快速的谷歌搜索表明有些人已经尝试替换 dll 文件。那是特定于 Windows 的,对我来说似乎很 hacky。 【参考方案1】:

经过一番谷歌搜索后,我找到了一种方法。您需要从here 下载sqlite3.dll(预编译二进制)文件。然后将这个文件复制到 python 安装目录的DLLs 文件夹中。您可能需要备份旧的 sqlite3.dll 文件,以防您决定恢复。

【讨论】:

我想出了相同的解决方案,但现在的问题是“是否可以不从 DLL 文件夹加载此 dll”? @SergeNorin 我不确定,但不知何故我不这么认为。我认为从哪里读取 DLL 是 python 内置的东西。但谁知道呢! 但是如果在 Linux 机器上呢? @hanson 不知道如何在 Linux 机器上做同样的事情。如果您碰巧找到了方法,请发布作为答案。

以上是关于我可以在 python 中使用更高版本的 sqlite3 吗?的主要内容,如果未能解决你的问题,请参考以下文章

如何用内存高效的数据结构替换大型 python 字典?

AWS EMR:Zeppelin 从 python 2.7 获取 numpy 版本而不是更高版本

Pycharm中的Fenics导入错误(Python 3及更高版本)

如何在Anaconda中把python环境更新更高版本

Windows上DVWA和sqli-labs部署

Windows上DVWA和sqli-labs部署