python - Python 3.x 的 SQLite 版本

标签 python sqlite

我想在 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)。您使用的 versionversion_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/

相关文章:

android - 为什么我的 Assets 文件夹没有安装在模拟器上?

python - 如何防止 SQLite 数据库在部署到 OpenShift 后被还原?

android - 无法将项目添加到 android 上的数据库

python - 删除与数组中的元素不匹配的行

Python/SQLite 将列表存储为二进制文件 (blob)

Python - 在数据框中编码基因组数据

python - 如何重新排列/重新排序 python 数据框中的行和列?

hibernate - 是否可以在 sqlite 中使用 'index' 作为列名?

python - 使用 twinx 时控制跟踪器

python - 如何在 Keras 中使用类权重进行图像分割