Python sqlite3:运行不同的sqlite3版本

时间:2015-03-26 15:22:44

标签: python sqlite sqlalchemy

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

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

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

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

How to upgrade sqlite3 in python 2.7.3 inside a virtualenv?

2 个答案:

答案 0 :(得分:1)

Python无法直接使用sqlite3二进制文件。它始终使用与sqlite3共享库链接的模块。这意味着您必须按照" How to upgrade sqlite3 in python 2.7.3 inside a virtualenv?"中的说明进行操作。在virtualenv中创建pysqlite模块的版本。

然后您可以使用此导入

from pysqlite2 import dbapi2 as sqlite

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

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

答案 1 :(得分:0)

如果您使用的是Windows,请首先尝试以下简单方法:从sqlite download page(位于“ Windows的预编译二进制文件”标题下)获取dll,并将其添加到Anaconda的dll路径中(例如{{ 1}})。那里的新版本带有已经启用的FTS5等功能。

如果您使用的是Linux,请参考Install Python and Sqlite from SourceCompiling SQLite for use with Python Applications