构建LXML时缺少预编译的.c Cython文件

1 投票
1 回答
2083 浏览
提问于 2025-04-17 14:05

我必须从源代码构建lxml。https://github.com/lxml/lxml。根据文件/doc/build.txt的说明,源代码应该包含预编译的.c文件。可是我怎么找不到它们呢?在/src/lxml目录下只有.pyx文件。那.c文件在哪里呢?

实际上,在执行python build命令时,我缺少lxml.etree.c这个文件。

谢谢!

1 个回答

5

你误解了build.txt的内容。它说:

lxml.etree和lxml.objectify模块是用Cython写的。不过,因为我们在lxml发布时会一起提供Cython生成的.c文件,所以你不需要Cython就能从正常的发布源来构建lxml。

所以你需要获取“正常的发布源”,这样就能得到预编译的C文件,比如可以从http://pypi.python.org/pypi/lxml下载。如果你是从git上获取代码,那么你就需要Cython:

只有当你想从开发者源代码中构建lxml(比如测试一个还没发布的bug修复)或者你想成为lxml的开发者时,你才需要有一个可用的Cython安装。

撰写回答