配布物はパッケージと3種類の方法で関係します:
これらの関係は、distutils.core.setup()関数のキーワード引数を 利用して指定することができます。
他のPythonモジュールやパッケージに対する依存は、setup()の requiresキーワード引数で指定できます。 引数の値は文字列のリストでなければなりません。 各文字列は、必要とするパッケージと、オプションとしてパッケージのバージョンを 指定します。
あるモジュールかパッケージの任意のバージョンが必要な場合、
指定する文字列はモジュール名かパッケージ名になります。例えば、 'mymodule'
や
'xml.parsers.expat'
を含みます。
特定のバージョンが必要な場合、修飾子(qualifier)の列を加えることができます。 各修飾子は、比較演算子とバージョン番号からなります。利用できる比較演算子は:
< > == <= >= !=
これらの修飾子はカンマ(空白文字を入れても良いです)で区切って複数並べることができます。 その場合、全ての修飾子が適合する必要があります; 評価する時に論理ANDでつなげられます。
いくつかの例を見てみましょう:
require式 | 説明 |
---|---|
==1.0 |
version 1.0 のみが適合します |
>1.0, !=1.5.1, <2.0 |
1.5.1 を除いて、 1.0 より後ろで
2.0 より前の全てのバージョンに適合します。 |
これで、依存を指定することができました。同じように、この配布物が他の配布物に 必要とされる何を提供するのかを指定する必要があります。 これは、setup() の provide キーワード引数によって指定できます。 この引数の値は文字列のリストで、各要素はPythonモジュールかパッケージの名前です。 バージョンを指定することもできます。 もしバージョンが指定されなかった場合、配布物のバージョン番号が利用されます。
いくつかの例です:
provide 式 | 説明 |
---|---|
mypkg |
mypkg を提供します。バージョンは配布物のものを使います。 |
mypkg (1.1 |
mypkg version 1.1 を提供します。配布物のバージョン番号は
気にしません |
パッケージは obsoletes キーワードを利用することで、他のパッケージを廃止することを 宣言することもできます。 この値はrequiresキーワードと似ています: モジュールやパッケージを指定する文字列の リストです。各文字列は、モジュールかパッケージの名前と、オプションとして一つ以上のバージョン 指定から構成されています。バージョン指定は、モジュールやパッケージの名前のうしろに、 丸括(parentheses)でかこわれています。
指定されたバージョンは、その配布物によって廃止されるバージョンを示しています。 バージョン指定が存在しない場合は、指定された名前のモジュールまたはパッケージの 全てが廃止されたと解釈されます。
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。