有什么方法可以自动将包添加到develop-eggs
toextra-paths
吗?
2 回答
使用 mr.developer:http ://pypi.python.org/pypi/mr.developer
它可以很好地管理卵子,包括首先将它们添加到卵子中。
我认为您想自动将 develop-eggs 添加到eggs中,而不是额外的路径。extra-paths 更适合那些不是蛋的东西。
如果您有一个鸡蛋“foo”和一个鸡蛋“bar”,并且您想为“foo”创建一个测试运行程序,但它也需要在路径上使用“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 并将它们添加到开发鸡蛋列表中自动在 buildout.cfg 所在的文件夹中查找源鸡蛋。并且 buildout 将使测试器的路径正确,因为它查看 'foo' 的依赖关系并看到 'bar' 也需要在路径上。任何需要鸡蛋列表的食谱都是如此。
如果您想自动更新鸡蛋列表,请查看 buildout.eggtractor。不过我不推荐这个。您的构建应该明确说明它正在使用什么鸡蛋(我的意思是直接使用,您只需在我的示例中列出 foo 因为它依赖于 bar)并且您的鸡蛋应该明确说明它们所具有的依赖关系。这样,如果您想从 egg 进行部署,您就无需做额外的工作。