在Plone扩展设置中查找需求规格 [英] Find requirement specs in a Plone buildout setup
问题描述
我有一个Plone网站(大约4.2.4,从根目录中的version.txt
告诉),我想将其更新为最新版本(我发现
I have a Plone site (something around 4.2.4, telling from a version.txt
in the root directory) which I'd like to update to a recent version (I found this how-to) (as of now, 4.3.4
); I have inherited a plethora of pinned versions which are not documented and might be outdated.
注释掉我的versions.cfg
时,改用http://dist.plone.org/release/4.3-latest/versions.cfg
并用-vvv
重新运行buildout
时,我得到:
When commenting out my versions.cfg
, using http://dist.plone.org/release/4.3-latest/versions.cfg
instead and re-running buildout
with -vvv
, I get:
Develop: '.../src/collective.mathjax'
in: '.../src/collective.mathjax'
/tmp/tmpbXsnpD -q develop -mxN -d .../develop-eggs/tmp2yhe9ubuild
...
Installing 'zc.recipe.egg'.
We have the best distribution that satisfies 'zc.recipe.egg<2dev'.
Picked: zc.recipe.egg = 1.3.2
...
There is a version conflict.
We already have: zc.recipe.egg 1.3.2.
While:
Installing.
Getting section test.
Initializing section test.
Installing recipe zc.recipe.testrunner.
因此似乎对zc.recipe.egg
的sub-2版本有一些要求,但我找不到它. (在我的versions.cfg
中,它固定到了2.0.1
-曾经可以正常工作).
So there seems to be some requirement for a sub-2 version of zc.recipe.egg
, but I can't find it. (In my versions.cfg
it is pinned to 2.0.1
- which used to work, surprisingly.)
我用find
和grep
搜索树,在version*.cfg
和setup.py
文件中寻找rc.recipe.egg
,但是除了项目根目录外什么都找不到.我什至没有搜索.../src/collective.mathjax
下的每个文件,都没有成功.
I searched the tree with find
and grep
, looking for rc.recipe.egg
in version*.cfg
and setup.py
files, but I couldn't find anything but in my project root directory. I even searched every single file below .../src/collective.mathjax
, without success.
如何找出这种依赖性?谢谢!
How can I ferret out this dependency? Thank you!
推荐答案
基本上,可以在三个地方查找版本固定:
Basically there's three places to look for version-pinnings:
1.)像Luca Fabbri指出的那样,在PyPi上释放的鸡蛋的需求文件,您可以搜索这样的图钉:
1.) The requires-files of eggs released on PyPi, like Luca Fabbri pointed out, which you can search for pins like this:
grep -r --include=requires.txt "dependency.to.search.for" path/to/eggs-cache
2.)开发鸡蛋的setup.py文件,类似的可搜索内容,例如:
2.) The setup.py-files of development-eggs, similar searchable like:
grep -r --include=setup.py "dependency.to.search.for" path/to/dev-eggs-cache
3.)配置文件的[versions]
部分,在这种情况下, the version.cfg通过其extends
-option和pull一个人可能还会通过extends
指定更多配置.
3.) The [versions]
-part of config-files, where in this case the version.cfg is pulling more version-configs in, via its extends
-option and the pulled one's might also specify more configs via extends
.
您很幸运,敬佩M. v.Rees共享了有关如何获取所有Plone版本的所有图钉的摘要: https://gist.github.com/mauritsvanrees/99cb4a25b622479e7dc3
You're lucky, admired M. v. Rees has shared a snippet, on how to get all pinnings of all Plone versions: https://gist.github.com/mauritsvanrees/99cb4a25b622479e7dc3
这篇关于在Plone扩展设置中查找需求规格的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!