您应该将鸡蛋固定到特定版本,这样您就可以控制每次运行构建时使用的鸡蛋:
[buildout]
versions = versions
[versions]
foo = 1.0
bar = 1.1
spam = 1.0b2
该部分versions
中的选项[buildout]
允许您命名一个包含您的包的版本引脚的部分。在本例中,我将该部分命名为[versions]
,但您可以使用任何您喜欢的名称;想象一下,如果您将一个[release1]
和[release2]
部分,versions
指向任一选项以选择版本引脚的特定组合。
当一个鸡蛋像这样固定到一个特定的版本时,只有那个版本的鸡蛋才能满足这个构建的要求。如果您的查找链接指向包含该版本的位置,则将从那里下载 egg,而不是从 PyPI。
还有 2 个额外的功能可以帮助管理版本引脚。第一个是默认的构建选项,称为allow-picked-versions
:
[buildout]
allow-picked-versions = false
默认设置true
意味着 buildout 可以为您选择一个满足所有要求的版本。当您将此设置为 时false
,对于任何没有版本引脚构建的鸡蛋都会引发错误。使用它来检测您是否仍然需要固定鸡蛋。
另一种选择是使用buildout.dumppickedversions扩展来构建:
[buildout]
extensions = buildout.dumppickedversions
当像这样添加到您的构建时,每次运行构建时,最后都会列出所选版本的列表,对于任何未固定的鸡蛋,其格式直接适合包含在您的构建配置中。这样,您可以让 buildout 找出要使用的鸡蛋,然后将它们固定到这些版本。