Distutilsを使うためにインストールする必要がある唯一のモジュールが distutils.coreモジュールです。setup()関数 (セットアップスクリプトから呼び出されます)を提供します。間接的に distutils.dist.Distributionクラスと distutils.cmd.Command クラスを提供します。
| arguments) |
setup関数はたくさんの引数をとります。以下のテーブルにまとめます。
| argument name | value | type |
|---|---|---|
| パッケージの名前 | 文字列 | |
| パッケージのバージョン番号 | distutils.versionを参照してください | |
| 1行で書いたパッケージ解説 | 文字列 | |
| パッケージの長い解説 | 文字列 | |
| パッケージ作者の名前 | 文字列 | |
| パッケージ作者のemailアドレス | 文字列 | |
| 現在のメンテナの名前(パッケージ作者と異なる場合) | 文字列 | |
| 現在のメンテナのemailアドレス(パッケージ作者と異なる場合) | ||
| パッケージのURL(ホームページ) | URL | |
| パッケージダウンロード用URL | URL | |
| distutilsが操作するPythonパッケージのリスト | 文字列のリスト | |
| distutilsが操作するPythonモジュールのリスト | 文字列のリスト | |
| ビルドおよびインストールする単体スクリプトファイルのリスト | 文字列のリスト | |
| ビルドする拡張モジュール | distutils.core.Extensionインスタンスのリスト | |
| パッケージのTrove カテゴリのリスト | XXX もっと良い定義へのリンク | |
| 使用する Distributionクラス | distutils.core.Distributionのサブクラス | |
setup.pyスクリプトの名前 - デフォルトではsys.argv[0] |
文字列 | |
| セットアップスクリプトの引数 | 文字列のリスト | |
| セットアップスクリプトのデフォルト引数 | 文字列 | |
| パッケージのライセンス | ||
| 説明用メタデータ。 PEP 314を参照してください | ||
| コマンド名から Command サブクラスへのマッピング | 辞書 |
script_name[, script_args=None, stop_after='run']) |
script_name は execfile()で実行されるファイルです。 sys.argv[0] は、 呼び出しのためにscript_nameと置換されます。 script_args は文字列のリストです。もし提供されていた場合、 sys.argv[1:] は、呼び出しのためにscript_args で置換されます。
stop_after は いつ動作を停止するか関数setup() に伝えます。 とりうる値は:
| 値 | 説明 |
|---|---|
| Distributionインスタンスを作成し、キーワード引数を setup()に渡したあとに停止する。 | |
| 設定ファイルをパーズしたあと停止する(そしてそのデータは Distributionインスタンスに保存される)。 | |
コマンドライン (sys.argv[1:] または
script_args) がパーズされたあとに停止する (そしてそのデータは
Distributionインスタンスに保存される)。 | |
| 全てのコマンドを実行したあとに停止する(関数 setup() を通常の方法で呼び出した場合と同じ)。 デフォルト値。 |
これに加えて、distutils.coreモジュールは他のモジュールにある いくつかのクラスを公開しています。
それぞれの簡単な説明を以下に記します。完全な説明についてはそれぞれの モジュールをごらんください。
Extension クラスは、セットアップスクリプト中で C または C++拡張モジュー ルを表します。コンストラクタで以下のキーワード引数をとります。
| argument name | value | type |
|---|---|---|
| 拡張のフルネーム(パッケージを含む) -- ファイル名やパス 名ではなく、Pythonのピリオド区切りの名前 | string | |
ソースファイル名のリスト。配布物ルートディレクトリ
(setupスクリプトのある場所) からの相対パス、プラットフォーム独立のた
めUnix形式(スラッシュで区切る)で記述します。ソースファイルは C, C++,
SWIG (.i)、特定プラットフォーム用のリソースファイル、その他
build_extコマンドがソースファイルだと認識するどの形式でもありえます。 |
string | |
| C/C++ヘッダファイルを検索するディレクトリのリ スト(プラットフォーム独立のため Unix 形式で記述する) | string | |
定義するマクロのリスト; それぞれのマクロは
2要素のタプルで定義されます。'値'には定義しようとしている文字列、
または内容なしで定義する場合はNone(ソースコード中で
#define FOOと書く、または Unix Cコンパイラのコマンドラインで
-DFOO を指定するのと等価です)を指定します。 |
(string,string)
または (name,None) のタプル | |
| 定義を消すマクロのリスト | string | |
| リンク時にC/C++ライブラリを検索するディレクトリのリスト | string | |
| リンクするライブラリ名のリスト (ファイル名やパスではない) | string | |
| 実行時(shared extensionでは、拡張が読み 込まれる時)に C/C++ライブラリを探索するディレクトリのリスト | string | |
| 追加でリンクするファイル('sources'に対応するコー ドが含まれていないファイル、バイナリ形式のリソースファイルなど)のリスト | string | |
| 'sources'のソースをコンパイルする時に 追加するプラットフォーム特有またはコンパイラ特有の情報 コマンドラインを利用できるプラットホームとコンパイラでは、これは通常 コマンドライン引数のリストですが、他のプラットホームでも、それは何か に使えます。 | string | |
| オブジェクトファイルをリンクして拡張(または新しいPythonインタプ リタ)を作る時に 追加するプラットフォーム特有またはコンパイラ特有の情報 'extra_compile_args'に似た実装です。 | string | |
shared extensionからエクスポートされるシンボルのリスト。
全てのプラットフォームでは使われず、
Python拡張(典型的には init + extension_name という1つのシンボル
だけエクスポートする)に一般的に必要なものでもない。 |
string | |
| 拡張が依存するファイルのリスト | string | |
拡張の言語 (例: 'c', 'c++',
'objc')。指定しなければソースの拡張子で検出される。 |
string |
Distributionのコンストラクタが取りうる キーワード引数のリストに関しては、setup()関数を見てください。 setup()はDistributionのインスタンスを作ります。
ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。