Python需要什么来安装sqlite3模块?

时间:2012-09-14 07:59:05

标签: python sqlite

好的,

我已经问过这个问题了,但是注意到我可能没有像我原来那样清楚,并且可能自己也犯了一些错误。

我也注意到很多人在python中遇到与sqlite3相同或类似的问题。所以我想我会尽可能清楚地问这个问题,所以它可能会帮助其他人解决同样的问题。

编译时python需要找到什么,所以模块启用并运行? (详细地说,我的意思是确切的文件,而不仅仅是“sqlite dev-files”)?

如果它需要一个库,它可能需要使用正确的架构进行编译吗?

2 个答案:

答案 0 :(得分:0)

据我了解,您希望安装python表单源。要使 sqlite 模块可用,您必须安装 sqlite 包及其 dev文件(例如 sqlite-devel CentOS的)。而已。您必须在安装所需的软件包后重新配置源。

顺便说一句,你会遇到与其他模块相同的问题。

答案 1 :(得分:0)

cpython的sqlite模块的source code调用各种sqlite3函数并使用sqlite3结构(类似于Python中的类定义)。

在编译源代码(到python二进制文件)时,C编译器需要这些函数的定义(例如,如果参数计数不匹配,它可以中止)。出于这个原因,Python的sqlite模块includes the sqlite3 header file sqlite3.h包含有关sqlite3_*函数的参数的信息(但它们的实现)。 (More information about header files on Wikipedia)

此外,当linking python二进制文件时,链接器需要获取有关所使用的sqlite3方法和其他对象的实际二进制表示的信息。此信息位于/usr/lib中的文件中,以.so.la.a结尾。它们必须针对目标体系结构(即您尝试创建的二进制体系结构)进行编译 - 大多数情况下,这是当前系统的体系结构。