我想在Python 3.1.3中使用sqlite3,我需要将enable_load_extension设置为true.要做到这一点,我相信我需要sqlite版本3.x. 从这里的阅读帖子来看,看起来合适的sqlite版本应该与python 2.6及更高版本捆绑在一起.但是,当我这样做时:
import sqlite3
sqlite3.version_info
Run Code Online (Sandbox Code Playgroud)
返回的结果是:'2.4.1'
我在运行Python 2.6的另一台机器上得到了相同的答案.
pysqlite站点没有Python 3.x的二进制文件.我的Python副本来自官方Python站点.
那么:1)我应该用什么版本的sqlite 3.1?2)如果我应该有一个更新的版本,它已经消失了 - 我需要设置一个环境变量吗?2)如果我需要你
不要将SQLite的版本与pysqlite的版本混淆,后者是SQLite API的Python绑定.您使用的version和version_info属性是指后者.
有没有想过为什么模块被命名sqlite3?它只支持3.x版本!
要检查SQLite版本,请sqlite_version改用:
import sqlite3
print sqlite3.sqlite_version
Run Code Online (Sandbox Code Playgroud)
在我的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',)
Run Code Online (Sandbox Code Playgroud)