zc.recipe.egg 允许您安装任何 egg 及其带有 buildout 的脚本。
但是,zc.recipe.egg 依赖于find-links
和index
行为,我猜是从 setuptools 继承的。它想拿一个egg server / HTML进行扫描。
如果我只想将 zc.recipe.egg 指向一个鸡蛋直接下载 URL,我该怎么做?看起来把它放到 find-links 是不行的。
将直接 egg 链接放入find-links
工作正常,但您必须记住还要固定 egg 的版本。
发生的情况是,您为鸡蛋提供的链接被视为一种选择。如果 buildout 在其他地方找到了更新版本的 egg,它仍然会忽略直接链接的版本。
示例,无版本引脚:
[buildout]
parts = i18ndude
find-links = http://pypi.python.org/packages/source/i/i18ndude/i18ndude-3.1.3.zip
[i18ndude]
recipe = zc.recipe.egg
eggs = i18ndude
$ bin/buildout -N
Installing i18ndude.
Getting distribution for 'i18ndude'.
Got i18ndude 3.2.2.
Generated script '/private/tmp/test/bin/i18ndude'.
$ grep i18ndude- bin/i18ndude
'/Users/mj/Development/.buildout/eggs/i18ndude-3.2.2-py2.6.egg',
使用版本引脚:
[buildout]
parts = i18ndude
find-links = http://pypi.python.org/packages/source/i/i18ndude/i18ndude-3.1.3.zip
versions = versions
[versions]
i18ndude = 3.1.3
[i18ndude]
recipe = zc.recipe.egg
eggs = i18ndude
$ bin/buildout -N
Updating i18ndude.
Getting distribution for 'i18ndude'.
Got i18ndude 3.1.3.
Generated script '/private/tmp/test/bin/i18ndude'.
$ grep i18ndude- bin/i18ndude
'/Users/mj/Development/.buildout/eggs/i18ndude-3.1.3-py2.6.egg',
把它放在查找链接中应该可以工作。我过去曾这样做过。您必须确保链接的格式与任何 python 鸡蛋一样正确。