我正在使用 mr.developer 从 mercurial 存储库中签出我的包,但我一定做错了,因为我遇到了嵌套依赖项的问题。
例如,如果我有foo
以下
[buildout]
develop = .
extensions = mr.developer
sources = sources
auto-checkout =
pack1
parts = foo
[sources]
pack1 = hg http://blah.com/hg/pack1
foo
依赖于 pack1,在 setup.py 中列为 install_requires = ['pack1'],
当我运行时bin/buildout
,一切顺利,mr.developer 下载 pack1,并且由于 pack1 已下载,foo 被创建而没有问题,因此存在。
现在,我有另一个包 bar,它将 foo 列为依赖项。
[buildout]
develop = .
extensions = mr.developer
sources = sources
auto-checkout =
foo
parts = bar
[sources]
foo = hg http://blah.com/hg/foo
我还在 setup.py 中将 foo 列为依赖项install_requires = ['foo'],
现在发生的事情是我不理解的部分。
当我运行时bin/buildout
,mr.developer 去获取 foo,但没有接缝来执行位于 foo/ 内部的 buildout.cfg。因此, foo/setup.py 需要 pack1,但它并不存在。
如何确保 mr.developer 真的去http://blah.com/hg/pack上获取 pack1, 如foo/buildout.cfg
?
我希望能够像这样嵌套多个包,而不必深入每个包并手动运行 buildout。
干杯,马丁