使用python 2.7.3和pysqlite2 2.6.3升级sqlite3版本

Jus*_*nes 5 python windows sqlite

美好的一天.

我最近一直在学习python和sqlite,并且无法安装最新版本的sqlite3(3.7.14.1).我在Windows 7中使用python 2.7.3并使用Windows安装程序安装了最新的pysqlite2版本(2.6.3).我使用以下代码导入pysqlite并检查版本,结果如​​下:

>>> from pysqlite2 import dbapi2 as sqlite3
>>> sqlite3.version
'2.6.3'
>>> sqlite3.sqlite_version
'3.7.6.2'
Run Code Online (Sandbox Code Playgroud)

根据上面的代码,使用的sqlite3版本较旧.我已经下载了最新的sqlite3.dll并覆盖了Python27\DLLs \目录中的sqlite3.dll.但是当我运行sqlite3.sqlite_version时,它仍然给我旧版本.但是,当使用默认的python sqlite3模块时,它会显示模块的旧版本(2.6.0)和我刚刚复制的最新版本的sqlite3.dll.见下面的代码:

>>> import sqlite3
>>> sqlite3.version
'2.6.0'
>>> sqlite3.sqlite_version
'3.7.14.1'
Run Code Online (Sandbox Code Playgroud)

我的问题是,如何升级pysqlite2 2.6.3的sqlite3 3.7.14.1?谁能帮我?

谢谢.

mat*_*ata 6

pysqlite2你可能从这里得到的安装程序包含sqlite3编译成_sqlite.pyd,它不使用DLLs目录中找到的dll(那个只是sqlite3模块使用的).

因此,如果要升级所使用的sqlite版本,则必须自行重新编译pysqlite2.

或者,与pysqlite2实际上完全相同sqlite3,您也可以用pysqlite2.py仅包含文件的文件替换整个包:

from sqlite3 import *
Run Code Online (Sandbox Code Playgroud)

  • 是的,它会使用安装的`sqlite3`模块.它与`pysqlite2`相同,只是使用不同的名称和动态链接的`_sqlite.pyd`,所以它使用`sqlite3.dll`,您可以更改它.`pysqlite2`是静态链接的,所以它使用它链接的sqlite3版本.如果你真的需要更新到最新版本,你需要自己编译. (2认同)