我使用sqlite作为其中一个数据库来运行Django项目。我想在运行项目时运行最新的SQLite版本。我的意思是最新的sqlite二进制文件,而不是sqlite python库。
我有一个本地sqlite3二进制文件,它不是系统默认值,我无法更改默认的sqlite3版本。
我没有使用Django的ORM,但已将其替换为独立的SQLAlchemy版本。
我找到了一个相关的链接,但这与运行最新的python sqlite库版本有关。
答案 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 Source和Compiling SQLite for use with Python Applications