我有一个可以调用两个食谱的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
。
非常感谢任何帮助。
答案 0 :(得分:1)
经过一些测试,我发现了问题所在。配方有三个部分:构造函数,安装和更新函数。在所有安装发生之前调用构造函数,这会引起混淆。
我在构造函数中有一些依赖于其他部分的东西。因为在所有安装发生之前调用了构造函数,所以代码失败了。将它移动到安装功能后,一切顺利。