Python sqlite3:运行不同的sqlite3版本

dan*_*vic 5 python sqlite sqlalchemy

我正在使用 sqlite 作为数据库之一运行 Django 项目。我想在运行项目时运行最新的 SQLite 版本。我的意思是最新的 sqlite 二进制文件,而不是 sqlite python 库。

我有一个不是系统默认值的本地 sqlite3 二进制文件,我无法更改默认的 sqlite3 版本。

我没有使用 Django 的 ORM,而是将其替换为独立的 SQLAlchemy 版本。

我找到了一个相关链接,但这与运行最新的 python sqlite 库版本有关。

如何在virtualenv内升级python 2.7.3中的sqlite3?

Aar*_*lla 0

Python 不能sqlite3直接使用二进制文件。它始终使用链接到共享库的模块sqlite3。这意味着您必须按照“如何在 virtualenv 内升级 python 2.7.3 中的 sqlite3?pysqlite ”中的说明在 virtualenv 中创建该模块的版本。

然后您可以使用此导入

from pysqlite2 import dbapi2 as sqlite
Run Code Online (Sandbox Code Playgroud)

sqlite用新模块隐藏系统的默认模块。

另一种选择是获取 Python 的源代码,编译所有内容并将文件复制sqlite.so到您的 virtualenv 中。这种方法的缺点是它很脆弱并且很难被其他人重复。