我想在 Python 3.1.3 中使用 sqlite3,我需要将 enable_load_extension 设置为 true。为此,我相信我需要 sqlite 版本 3.x。从这里的阅读文章来看,合适的 sqlite 版本似乎应该与 python 2.6 及更高版本捆绑在一起。但是,当我这样做时:
import sqlite3
sqlite3.version_info
返回的结果是:'2.4.1'
我在另一台运行 Python 2.6 的机器上得到了相同的答案。
pysqlite 站点没有适用于 Python 3.x 的二进制文件。我的 Python 副本来自 Python 官方网站。
所以: 1) 3.1 应该有什么版本的 sqlite? 2)如果我应该有一个更新的版本,它去了哪里 - 我需要设置一个环境变量吗? 2) 如果我需要你
最佳答案
不要将 SQLite 的版本与 pysqlite 的版本混淆,pysqlite 是 SQLite API 的 Python 绑定(bind)。您使用的 version
和 version_info
属性指的是后者。
有没有想过为什么这个模块被命名为sqlite3
?它只支持 3.x 版本!
要检查 SQLite 版本,请改用 sqlite_version
:
import sqlite3
print sqlite3.sqlite_version
在我的 Python 2.6 安装中,这会打印 3.5.9
。对于 Python 3.2,我得到 3.7.4
。
也可以使用SQL获取版本:
>>> import sqlite3
>>> connection = sqlite3.connect(':memory:')
>>> cursor = connection.cursor()
>>> cursor.execute('SELECT sqlite_version()').fetchone()
('3.7.4',)
关于python - Python 3.x 的 SQLite 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6357074/