4

次のことを可能にするPythonビルドアウトレシピはありますか?

[buildout]
parts = group-of-parts

[group-of-parts]
recipe = what.can.i.use.for.this
parts = part-1 part-2

[part-1]
...

[part-2]
...

つまり、パーツのグループの階層を手動で管理できるように、「ビルドアウト」セクションと同じように「パーツ」属性を取得するレシピが必要です。

はい、私は私ができることを知っています:

[buildout]
parts = group-of-parts

[group-of-parts]
recipe =
parts = ${part-1:recipe} ${part-2:recipe}

[part-1]
...

[part-2]
...

しかし、パーツの属性を参照することによってパーツが構築されるという副作用に依存することは、少しあいまいに思えます。むしろ、パーツ自体の名前をリストするだけのレシピを使用することで、より明確にしたいと思います。

確かに、拡張してオーバーライドするときは、次のように言うと非常にきれいに見えます。

[groups-of-parts]
parts -= part-2

よりも:

[groups-of-parts]
parts -= ${part-2:recipe}

または、ビルドアウトがどのように機能するかについて基本的な何かが欠けている、またはこれをはるかにクリーンにするドキュメントの何かを見落としているという私の問題です。

また、すべてのパーツが「ビルドアウト」セクションの「パーツ」属性にリストされているフラットな階層は必要ありません。

4

3 に答える 3

1

いいえ、階層はありませんが、もちろんそのためのレシピを作成することはできます。

あなたはどうしてそれが欲しいのですか?数百個の部品が集まるわけではないので、それらを追跡するのは難しいです...

于 2009-07-16T07:33:57.517 に答える
0

あなたはこれを行うことができます:

[buildout]
development-tools-parts =
    thing1
    thing2
software-parts =
    thing3
    thing4
parts =
    ${buildout:development-tools-parts}
    ${buildout:software-parts}

私はあなたを正しく理解しましたか?

これらのビルドアウト構成ステートメントのほとんどは単なるリストであるため、機能します。互いに追加できるもの。

これは、拡張する基本的なビルド構成 (「base.cfg」) に使用することがありました。これにより${buildout:common-parts}、パーツ リストに を追加して、いくつかの標準アイテムをそこに入れることができます。例を挙げましょう。

于 2011-09-07T01:31:58.660 に答える
0

しばらく前に、 buildout での依存関係の解決に関する記事を書きました。私の意見では、あなたが望むものはあまり意味がないので、それはあなたの質問に対する答えではありません. ただし、依存関係階層ツリーの解決ビルドアウトの使用についての洞察が得られる場合があります。

于 2011-09-06T20:50:49.293 に答える