使用Django和SQLite我想运行最新的SQLite版本;最新的SQLite二进制文件,而不是SQLite Python库。我有一个SQLite二进制文件,它不是系统默认的,无法更改默认版本。我没有使用Django的ORM,而是用一个独立的SQLAlchemy版本.Related替换了它(但必须运行最新的Python SQLite库)。
xeufq47z1#
如果您只需要python提供的最新版本的SQLite,最简单的方法是安装pysqlite3包:
pip install pysqlite3-binary
这是SQLite静态链接的最新版本,你可以在一个venv中使用它而不影响其他包。您可以像这样使用它:
from pysqlite3 import dbapi2 as sqlite3 print(sqlite3.sqlite_version)
如果您碰巧使用peewee,它会自动拾取它。如果您需要特定版本的SQLite,可以构建这个包,如Aaron Digulla的答案中所建议的。
peewee
0mkxixxg2#
Python不能直接使用sqlite3二进制文件,它总是使用一个与sqlite3共享库链接的模块,这意味着你必须按照“How to upgrade sqlite3 in python 2.7.3 inside a virtualenv?“中的说明在virtualenv中创建一个pysqlite模块的版本。然后可以使用此导入
sqlite3
pysqlite
from pysqlite2 import dbapi2 as sqlite
以使用新模块遮蔽系统的预设sqlite模块。另一种选择是获取Python的源代码,编译所有内容,然后将文件sqlite.so复制到您的virtualenv中。这种方法的缺点是它很脆弱,很难被其他人重复。
sqlite
sqlite.so
bsxbgnwa3#
如果您使用Windows,请先尝试以下简单方法:从sqlite download page中获取dll(它将位于“Precompiled Binaries for Windows”标题下),并将其添加到Anaconda的dll路径中(如C:\Users\YourUserName\Anaconda3\DLLs)。如果您使用的是Linux,请参阅Install Python and Sqlite from Source和Compiling SQLite for use with Python Applications
C:\Users\YourUserName\Anaconda3\DLLs
3条答案
按热度按时间xeufq47z1#
如果您只需要python提供的最新版本的SQLite,最简单的方法是安装pysqlite3包:
这是SQLite静态链接的最新版本,你可以在一个venv中使用它而不影响其他包。
您可以像这样使用它:
如果您碰巧使用
peewee
,它会自动拾取它。如果您需要特定版本的SQLite,可以构建这个包,如Aaron Digulla的答案中所建议的。
0mkxixxg2#
Python不能直接使用
sqlite3
二进制文件,它总是使用一个与sqlite3
共享库链接的模块,这意味着你必须按照“How to upgrade sqlite3 in python 2.7.3 inside a virtualenv?“中的说明在virtualenv中创建一个pysqlite
模块的版本。然后可以使用此导入
以使用新模块遮蔽系统的预设
sqlite
模块。另一种选择是获取Python的源代码,编译所有内容,然后将文件
sqlite.so
复制到您的virtualenv中。这种方法的缺点是它很脆弱,很难被其他人重复。bsxbgnwa3#
如果您使用Windows,请先尝试以下简单方法:从sqlite download page中获取dll(它将位于“Precompiled Binaries for Windows”标题下),并将其添加到Anaconda的dll路径中(如
C:\Users\YourUserName\Anaconda3\DLLs
)。如果您使用的是Linux,请参阅Install Python and Sqlite from Source和Compiling SQLite for use with Python Applications