7

version.txt私は最近のバージョンに更新したいPlone サイト (4.2.4 あたりの何か、ルート ディレクトリの a から伝えます) を持っています(私はこのハウツーを見つけました) (現在、4.3.4); 文書化されておらず、古い可能性がある多数の固定バージョンを継承しました。

my をコメントアウトし、代わりversions.cfgに を使用してhttp://dist.plone.org/release/4.3-latest/versions.cfgを再実行buildoutすると-vvv、次のようになります。

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.

そのため、 のサブ 2 バージョンには何らかの要件があるようですがzc.recipe.egg、見つかりません。(私の場合、驚くべきことに、以前は機能していた - にversions.cfg固定されています。)2.0.1

findとでツリーを検索し、とファイルgrepを探しましたが、プロジェクトのルート ディレクトリ以外には何も見つかりませんでした。以下のすべてのファイルを検索しましたが、成功しませんでした。rc.recipe.eggversion*.cfgsetup.py.../src/collective.mathjax

この依存関係を特定するにはどうすればよいですか? ありがとうございました!

4

5 に答える 5

3

基本的に、バージョン固定を探す場所は 3 つあります。

1.)Luca Fabbriが指摘したように、PyPiでリリースされた卵のrequire-filesは、次のようにピンを検索できます:

grep -r --include=requires.txt "dependency.to.search.for" path/to/eggs-cache

2.) development-eggs の setup.py ファイル。同様に検索可能:

grep -r --include=setup.py "dependency.to.search.for" path/to/dev-eggs-cache

3.)[versions]構成ファイルの -part。この場合 version.cfg はextends-option を介してより多くのバージョン構成をプルしており、プルされたものは を介し​​てより多くの構成を指定することもありますextends

M. v. Rees は、すべての Plone バージョンのすべての固定情報を取得する方法に関するスニペットを共有しています

于 2015-08-19T09:52:40.137 に答える
2

依存関係はおそらくサードパーティの卵の中にあります(つまり、そうsetup.pyではありません)。内部を再度検索します (ディレクトリが buildout ルート内にある./eggs/*/EGG-INFO/requires.txt場合)。egg

于 2015-04-23T15:03:40.753 に答える
1

「eggdeps」(pypi で検索) を使用して、ビルドアウト内のすべての依存関係のツリーを取得できます。おそらくこれが役立つ場合があります。ビルドアウトに卵を追加し、ビルドアウトを再実行します。あなたが言及した変更を行う前に、元の作業中のビルドアウト構成でそれを行ってください。(eggdeps スクリプトを生成するには、buildout が正常に終了する必要があります)。

これをビルドアウト構成に追加します。

parts +=
    eggdeps

...

[eggdeps]
recipe = zc.recipe.egg
eggs = tl.eggdeps
       ${instance:eggs}
scripts = eggdeps

buildout を再度実行します。これで、すべての依存関係のツリーを出力するスクリプト bin/eggdeps が作成されました。それを実行します:

./bin/eggdeps -n

出力例:

zope.app.pagetemplate 3.11.2
    setuptools 8.0.2
    zope.browserpage 3.12.2 ...
    zope.component 3.9.5 [hook] ...
    zope.configuration 3.7.4 ...
    zope.dublincore 3.7.0
        pytz 2013b0
        setuptools 8.0.2
        zope.component 3.9.5 ...
        zope.datetime 3.4.1 ...
        zope.interface 3.6.7 ...
        zope.lifecycleevent 3.6.2 ...
        zope.location 3.9.1 ...
        zope.schema 4.2.2 ...
        zope.security 3.7.4 ...
      [test]
        zope.annotation 3.5.0 ...
        zope.testing 3.9.7 ...
    zope.i18nmessageid 3.5.3 ...
    zope.interface 3.6.7 ...
    zope.pagetemplate 3.6.3 ...
    zope.schema 4.2.2 ...
于 2015-04-25T15:03:39.303 に答える
1

ビルドアウト構成で、ローカルに既にバージョンがある場合、新しいバージョンを検索しないようにしている可能性があります。次のような行があるはずです。

newest = false

卵のローカルキャッシュを削除するか、グローバルキャッシュを使用せずに特定のもの (空) を使用するように明示的に設定することができます。

何かのようなもの:

[buildout]
eggs-directory = /home/USER/SOMEWHERE/eggs
download-cache = /home/USER/SOMEWHERE/downloads
extends-cache = /home/USER/SOMEWHERE/extends
于 2015-04-23T15:23:52.350 に答える