您如何知道哪个python egg在buildout中强制执行约束?

2024-05-19 10:09:27 发布

您现在位置:Python中文网/ 问答频道 /正文

例如,以下内容是用^{{cd1>}构建的

...
Getting required 'grokcore.component>=2.5'
  required by five.grok 1.3.2.
  required by grokcore.viewlet 1.11.
Picked: grokcore.component = 2.5
Getting required 'grokcore.annotation'
  required by five.grok 1.3.2.
Picked: grokcore.annotation = 1.3
The constraint, 0.4, is not consistent with the requirement, 'five.localsitemanager>2.0dev'.
While:
  Installing instance.
Error: Bad constraint 0.4 five.localsitemanager>2.0dev

约束^{cd2>}似乎没有被强制执行grokcore.annotation(请参见https://github.com/zopefoundation/grokcore.annotation/blob/master/setup.py)但是我如何才能发现哪个鸡蛋实际上是在强制执行这个?


Tags: devgrokbyrequiredannotationviewletcomponentfive
1条回答
网友
1楼 · 发布于 2024-05-19 10:09:27

我知道这是一个很老的问题,但我昨天也遇到了同样的问题,{a1}找到了解决问题的方法。所以我想我还是把它贴在这里吧。在

所有的构建鸡蛋要么在项目中的eggs文件夹中,要么在主文件夹中的.buildout文件夹中,包括开发鸡蛋。在每个鸡蛋中,您将找到一个requires.txt文件,其中包含对鸡蛋的要求。这意味着您可以对.buildout/eggs文件夹中的特定约束执行find/grep,以找出是哪个包在实施它。在

所以在您的例子中,我建议您转到eggs目录(在我的例子中是~/.buildout/eggs),然后执行以下操作:

find .|grep requires.txt|xargs grep 2.0dev

它应该能找到执行约束的鸡蛋。在

在我的例子中,我正在升级到django1.7,其中有一个包具有约束'Django >= 1.4, < 1.7'。因此,执行find .|grep requires.txt|xargs grep 1.7时发现了有问题的鸡蛋。在

相关问题 更多 >

    热门问题