Python 在buildout.cfg中指定获取鸡蛋的优先级

Python 在buildout.cfg中指定获取鸡蛋的优先级,python,buildout,Python,Buildout,我想知道在查看pypi.python.org之前,是否有一种方法可以指定应该从哪里首先取鸡蛋/ 例如: [buildout] find-links: /home/eggs/ eggs = foo bar 如果pypi上存在版本号高于我的名为foo的包(位于/home/eggs/)的foo或bar包,buildout将尝试从pypi下载该包。我的foo和pypifoo完全不同,这是一个问题 我找不到一种方法来使用名称空间或类似的东西,所以我想应该有一种方法来强制buil

我想知道在查看pypi.python.org之前,是否有一种方法可以指定应该从哪里首先取鸡蛋/

例如:

[buildout]
find-links:
    /home/eggs/

eggs =
    foo
    bar
如果pypi上存在版本号高于我的名为foo的包(位于/home/eggs/)的foo或bar包,buildout将尝试从pypi下载该包。我的foo和pypifoo完全不同,这是一个问题

我找不到一种方法来使用名称空间或类似的东西,所以我想应该有一种方法来强制buildout使用某些包而不是其他包

你知道怎么解决这个问题吗

干杯,
Martin

您应该将鸡蛋锁定到特定版本,这样您就可以控制每次运行构建时使用的鸡蛋:

[buildout]
versions = versions

[versions]
foo = 1.0
bar = 1.1
spam = 1.0b2
[buildout]
extensions = buildout.dumppickedversions
[buildout]部分中的versions选项允许您命名包含软件包版本PIN的部分。在本例中,我将该部分命名为[versions],但您可以使用任何您喜欢的名称;想象一下,如果您要创建[release1]和[release2]部分,版本选项指向其中一个以选择特定的版本管脚组合

当一个egg被固定到这样一个特定的版本时,只有该版本的egg才能满足这个构建的要求。如果您的find链接指向包含该版本的位置,那么egg将从那里下载,而不是从PyPI下载

还有另外两个构建功能可以帮助管理版本管脚。第一个是默认构建选项,名为“允许拾取的版本”:

默认设置为true,这意味着buildout可以为您选择一个满足所有要求的版本。当您将其设置为false时,对于任何没有版本pin构建的egg,都将抛出一个错误。用这个来检测你是否仍然需要固定鸡蛋

另一种选择是使用扩展来构建:

[buildout]
versions = versions

[versions]
foo = 1.0
bar = 1.1
spam = 1.0b2
[buildout]
extensions = buildout.dumppickedversions

当像这样添加到构建中时,每次运行构建时,最后都会列出一个选择的版本列表,对于任何未固定的鸡蛋,其格式直接适合包含在构建配置中。这样,您就可以让buildout找到要使用的鸡蛋,然后将它们固定到那些版本。

您应该将鸡蛋固定到特定版本,这样您就可以控制每次运行buildout时使用的鸡蛋:

[buildout]
versions = versions

[versions]
foo = 1.0
bar = 1.1
spam = 1.0b2
[buildout]
extensions = buildout.dumppickedversions
[buildout]部分中的versions选项允许您命名包含软件包版本PIN的部分。在本例中,我将该部分命名为[versions],但您可以使用任何您喜欢的名称;想象一下,如果您要创建[release1]和[release2]部分,版本选项指向其中一个以选择特定的版本管脚组合

当一个egg被固定到这样一个特定的版本时,只有该版本的egg才能满足这个构建的要求。如果您的find链接指向包含该版本的位置,那么egg将从那里下载,而不是从PyPI下载

还有另外两个构建功能可以帮助管理版本管脚。第一个是默认构建选项,名为“允许拾取的版本”:

默认设置为true,这意味着buildout可以为您选择一个满足所有要求的版本。当您将其设置为false时,对于任何没有版本pin构建的egg,都将抛出一个错误。用这个来检测你是否仍然需要固定鸡蛋

另一种选择是使用扩展来构建:

[buildout]
versions = versions

[versions]
foo = 1.0
bar = 1.1
spam = 1.0b2
[buildout]
extensions = buildout.dumppickedversions

当像这样添加到构建中时,每次运行构建时,最后都会列出一个选择的版本列表,对于任何未固定的鸡蛋,其格式直接适合包含在构建配置中。这样,您就可以让buildout找到要使用的鸡蛋,然后将它们固定到那些版本。

谢谢Martijn。真的很有帮助再一次:谢谢Martijn。真的很有帮助再一次: