Buildout egg会自动添加到路径中吗?

时间:2010-11-22 20:09:25

标签: buildout

有没有办法自动将包裹从develop-eggs添加到extra-paths

2 个答案:

答案 0 :(得分:1)

使用mr.developer:http://pypi.python.org/pypi/mr.developer

它可以很好地开发鸡蛋,包括首先将鸡蛋加入鸡蛋中。

答案 1 :(得分:1)

我认为你想自动将开发蛋添加到 egg ,而不是额外的路径。额外的路径更适用于那些不是自我的东西。

如果你有一个鸡蛋'foo'和一个鸡蛋'bar',你想为'foo'创建一个testrunner,但它在路径上需要'bar',我会做类似的事情:

[buildout]
extensions = isotoma.extensions.autodevelop
parts = test

[test]
recipe = pbp.recipe.noserunner
eggs = foo
defaults = foo

foo的setup.py会有一个install_requires行:

setup(
    name='foo',
    packages=['foo'],
    install_requires=['bar']
    )

autodevelop扩展会通过查找setup.py并将它们添加到develop eggs列表中,自动在与buildout.cfg相同的文件夹中找到源蛋。而buildout会让测试人员的路径正确,因为它会查看'foo'的依赖关系,并且看到'bar'也需要在路径上。任何带有鸡​​蛋清单的食谱都是如此。

如果要自动更新鸡蛋列表,请查看buildout.eggtractor。不过我不建议这样做。你的buildout应该明确它正在使用什么蛋(我的意思是直接使用,你只需要在我的例子中列出foo,因为它取决于条形码)你的蛋应该明确它们的依赖关系。这样,如果你想从鸡蛋部署,你就没有额外的工作要做。