我想知道是否有一种方法可以在看鸡蛋之前先指定从哪里取鸡蛋pypi.python.org/在
例如:
[buildout]
find-links:
/home/eggs/
eggs =
foo
bar
如果pypi上的foo
或bar
包的版本号高于位于/home/eggs/
的我的包foo
,buildout将尝试从pypi下载该包。我的foo
和pypifoo
完全不同,这是一个问题。在
我找不到使用名称空间或类似的方法,所以我想应该有一种方法来强制buildout使用某些包而不是其他包。在
你知道怎么解决这个问题吗?在
干杯,
马丁
Tags:
您应该将鸡蛋固定到特定版本,这样您就可以控制每次运行构建时使用的鸡蛋:
[buildout]
部分中的versions
选项允许您命名一个包含包的版本pin的部分。在本例中,我将该部分命名为[versions]
,但是您可以使用任何您喜欢的名称;想象一下,如果您将使用[release1]
和{versions
选项指向其中任何一个,以选择特定的版本管脚组合。在当一个egg被固定到这样的特定版本时,只有该版本的egg才能满足此构建的需求。如果你的find链接指向一个包含该版本的位置,那么鸡蛋将从那里下载,而不是从PyPI下载。在
另外还有两个构建特性可以帮助管理版本管脚。第一个选项是一个名为
^{pr2}$allow-picked-versions
的默认构建选项:默认设置是
true
,这意味着buildout可以为您选择一个满足所有需求的版本。当您将此设置为false
时,对于任何没有版本pin构建的egg,都将抛出一个错误。用这个来检测你是否还需要固定鸡蛋。在另一个选择是使用buildout.dumppickedversions扩展来构建:
当像这样添加到构建中时,每次运行构建时,都会在末尾列出所选版本的列表,对于未固定的任何鸡蛋,其格式直接适合包含在构建配置中。这样你就可以让buildout找出要使用的鸡蛋,然后把它们固定在那些版本上。在
相关问题 更多 >
编程相关推荐