繁体   English   中英

如何在Python 2.6中升级sqlite3包?

[英]How can I upgrade the sqlite3 package in Python 2.6?

我使用Python 2.6.5构建我的应用程序,它随sqlite3 3.5.9一起提供。 显然,正如我在另一个问题中发现的那样,在版本3.6.19之前,sqlite3中没有引入外键支持。 但是,Python 2.7附带了sqlite3 3.6.21,所以这项工作 - 我决定在我的应用程序中使用外键,所以我尝试升级到python 2.7。

我正在使用扭曲,我不能为我的生活得到它建立。 Twisted依赖于zope.interface而我找不到zope.interface for python 2.7 - 我认为它可能只是“工作”,但我必须将所有文件复制到我自己身上,让自己一切正常工作,而不是仅仅使用自安装包。

所以我认为重新构建python 2.6并将其链接到新版本的sqlite3可能更明智。 但我不知道 -

我该怎么做?

我安装了Visual Studio 2008作为编译器,我读到这是唯一真正支持Windows的,我运行的是64位操作系统

从sqlite网站下载最新版本的sqlite3.dll并替换python目录中的sqlite3.dll。

sqlite3不是内置模块; 它是一个扩展模块(二进制文件是C:\\ Python26 \\ DLLs_sqlite3.pyd(在我的机器上))。 pyd是一个具有不同文件扩展名的DLL,只有一个入口点。 还有一个sqlite3.dll,其中包含SQLite代码。 python.exe没有链接到其中任何一个,因此重建python.exe没有意义。

接下来的想法是访问pysqlite2下载站点,获取最新的Python 2.6安装程序。 不幸的是,它没有关于它包含哪个版本的SQLite的文档; 一个人需要安装它然后捣乱:

>>> import sqlite3 as standard
>>> from pysqlite2 import dbapi2 as latest
>>> for m in (standard, latest):
...    print m.sqlite_version
...
3.5.9
3.6.2
>>>

因此,它只包含SQLite版本3.6.2,它没有您想要的真正外键支持。

我建议您查看邮件列表以查看您的问题是否在那里得到解答,如果没有问及Python 2.6安装程序包含更高版本SQLite的可能性(例如Python 2.7中包含的那个)。

当我意识到我在python 2.6中安装的每个库都驻留在我的site-packages文件夹中时,我决定尝试一下。 我只是...将网站包复制到我的2.7安装,它到目前为止工作。 对于我来说,这是迄今为止最简单的方法 - 如果有效的话 - 我会进一步研究它,但至少我现在可以继续发展。

我不接受这个答案,因为它甚至没有回答我的问题,但它确实解决了我的问题,据我所知到目前为止。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM