找出我的 sqlite 版本

Figuring out my sqlite version

我想检查一下我使用的是哪个版本的 sqlite,这比我预期的要混乱得多。为了重新开始,我创建了一个新的 conda 环境:

conda create --name my_env_name python=3.6 sqlite hdf5 pandas

shell 消息说它将在新环境中安装 sqlite: 3.13.0-1 以及一些其他软件包。

然后,在激活新的 conda 环境后,我立即 运行 pip freeze,但是我看到的包列表不包含 sqlite.[=17= 的任何条目]

最后,我只是从终端(在这个 conda 环境中)输入 python,在我的 shell 中输入一个系统 python。打开消息说 python 版本 3.6.1,确认我在那个新创建的环境中。但是后来

import sqlite3
sqlite3.version

输出'2.6.0'

这是怎么回事?我安装的是 sqlite3 版本 3.13 还是 2.6?如果我的 sqlite3 版本是 2.6,我如何获得更新的东西?那会很老了。

是的,您已经安装了sqlite: 3.13.0-1版本的sqlite数据库。如果要检查,运行 sqlite3 --version

import sqlite3
sqlite3.version

在这里你可以得到 DB-API SQLite 2.0 接口的版本,即 2.6.0

  1. 将 sqlite3 导入到您的 python 脚本中:

    import sqlite3
    
  2. 将以下几行添加到您的脚本中:

    print "SQLite Version is:", sqlite3.sqlite_version
    print "DB-API Version is:", sqlite3.version
    
  3. 运行 脚本为我生成了以下结果(您的结果可能不同):

    SQLite Version is: 3.11.0
    DB-API Version is: 2.6.0 
    

此信息记录在 Python 标准库中, "Section 12.6.1. Module functions and constants" https://docs.python.org/3/library/sqlite3.html