如何加速lxml的构建/安装?
我们使用Hudson-CI作为Python项目的持续集成服务器,所有项目都用Buildout来管理依赖关系。几乎所有的项目都需要用到lxml
,而由于Buildout的原因,每次测试运行时都必须重新构建和安装它。因为这个过程很耗时,所以每天能进行的构建次数就减少了。
有没有什么办法可以加快在使用Buildout时lxml
的构建速度?比如说,是否可以设置一些环境变量,让构建过程能够同时使用服务器的两个核心?或者有没有什么方法可以减少优化的工作量?
2 个回答
-1
你可以创建一个构建默认文件,并定义一个蛋目录,这样可以在多个构建之间共享这些“蛋”。
1
我的解决办法是自己创建一个“蛋”(egg),并把这个蛋的版本管理好,和我的构建工具一起使用。每次我需要升级lxml的时候,就重新创建这个蛋。几乎任何Python项目都可以通过在它的setup.py
文件顶部加上import setuptools
,然后运行python setup.py bdist_egg
来创建一个二进制的蛋。只要你安装这个蛋的机器在二进制上大致相似(比如都是同一个Linux版本),你就不会遇到太多麻烦。如果你希望你的蛋不依赖于机器上安装libxml,可以了解一下如何用“静态依赖”来构建lxml。