如何加速lxml的构建/安装?

2 投票
2 回答
1135 浏览
提问于 2025-04-16 07:49

我们使用Hudson-CI作为Python项目的持续集成服务器,所有项目都用Buildout来管理依赖关系。几乎所有的项目都需要用到lxml,而由于Buildout的原因,每次测试运行时都必须重新构建和安装它。因为这个过程很耗时,所以每天能进行的构建次数就减少了。

有没有什么办法可以加快在使用Buildout时lxml的构建速度?比如说,是否可以设置一些环境变量,让构建过程能够同时使用服务器的两个核心?或者有没有什么方法可以减少优化的工作量?

2 个回答

-1

你可以创建一个构建默认文件,并定义一个蛋目录,这样可以在多个构建之间共享这些“蛋”。

这篇文章总结得很好:http://plone.org/documentation/manual/developer-manual/managing-projects-with-buildout/creating-a-buildout-defaults-file

1

我的解决办法是自己创建一个“蛋”(egg),并把这个蛋的版本管理好,和我的构建工具一起使用。每次我需要升级lxml的时候,就重新创建这个蛋。几乎任何Python项目都可以通过在它的setup.py文件顶部加上import setuptools,然后运行python setup.py bdist_egg来创建一个二进制的蛋。只要你安装这个蛋的机器在二进制上大致相似(比如都是同一个Linux版本),你就不会遇到太多麻烦。如果你希望你的蛋不依赖于机器上安装libxml,可以了解一下如何用“静态依赖”来构建lxml。

撰写回答