0

好的,

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

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

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

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

4

2 回答 2

0

据我了解,您想安装 python 表单源。要使sqlite模块可用,您必须安装sqlite包及其开发文件(例如用于 CentOS的sqlite-devel )。就是这样。安装所需的软件包后,您必须重新配置源代码。

顺便说一句,您将面临与其他一些模块相同的问题。

于 2012-09-14T08:14:31.617 回答
0

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

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

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

于 2012-09-14T08:16:27.637 回答