buildout - mr.developer更改部件的顺序

时间:2013-03-20 09:38:58

标签: python buildout

我有一个可以调用两个食谱的buildout配置。这两个食谱必须按照定义的顺序执行。

最后要执行的配方是由mr.developer扩展从git存储库中获取的。但是,当mr.developer拉入配方时,它会将其视为一个鸡蛋并首先执行此操作。这会弄乱正确的顺序,并且构建失败。

我试图设置egg=false,因此配方不会先执行,但是这会阻止配方执行,因为它不是鸡蛋。

想一想我的buildout.cfg是什么样的:

[buildout]
develop = .
extensions = mr.developer
auto-checkout = custom-recipe
parts =
    part-one
    part-two

[sources]
custom-recipe = git http://location.of.repo

[part-one]
recipe = recipe.from.pypi
src = ${buildout:directory}

[part-two]
recipe = custom-recipe
src = ${part-one:src}

应尊重部件在buildout:parts中的显示顺序。如果某个部件引用另一个部件,则可以更改该顺序,以使依赖关系正确。我试图通过引用part-one中的part-two来“欺骗”扩建,但这不起作用,因为mr.developer已经引用part-two

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

经过一些测试,我发现了问题所在。配方有三个部分:构造函数,安装和更新函数。在所有安装发生之前调用构造函数,这会引起混淆。

我在构造函数中有一些依赖于其他部分的东西。因为在所有安装发生之前调用了构造函数,所以代码失败了。将它移动到安装功能后,一切顺利。