pytho****@googl*****
pytho****@googl*****
2011年 11月 10日 (木) 02:32:47 JST
Revision: e73c0701c83a Author: Naoki INADA <inada****@klab*****> Date: Wed Nov 9 09:32:19 2011 Log: Update 2.7.2: distutils/apiref http://code.google.com/p/python-doc-ja/source/detail?r=e73c0701c83a Modified: /distutils/apiref.rst ======================================= --- /distutils/apiref.rst Sat Apr 16 17:12:19 2011 +++ /distutils/apiref.rst Wed Nov 9 09:32:19 2011 @@ -115,11 +115,11 @@ これに加えて、 :mod:`distutils.core` モジュールは他のモジュールにあるいくつ かのクラスを公開しています。 -* :class:`Extension` は :mod:`distutils.extension` から。 - -* :class:`Command` は :mod:`distutils.cmd` から。 - -* :class:`Distribution` は :mod:`distutils.dist` から。 +* :class:`~distutils.extension.Extension` は :mod:`distutils.extension` か ら。 + +* :class:`~distutils.cmd.Command` は :mod:`distutils.cmd` から。 + +* :class:`~distutils.dist.Distribution` は :mod:`distutils.dist` から。 それぞれの簡単な説明を以下に記します。完全な説明についてはそれぞれのモジ ュールをごらんください。 @@ -695,22 +695,6 @@ コンパイラの OS/2 向け EMX ポートを扱います。 -:mod:`distutils.mwerkscompiler` --- Metrowerks CodeWarrior サポート -=================================================================== - -.. module:: distutils.mwerkscompiler - :synopsis: Metrowerks CodeWarrior support - - -:class:`MWerksCompiler` クラスを提供します。抽象クラス :class:`CCompiler` の具象クラスで Mac OS X 以前の -Macintosh の MetroWerks CodeWarrior向けです。 WindowsやMac OS XのCWをサポー トするには作業が必要です。 - -.. % \subsection{Utility modules} -.. % -.. % The following modules all provide general utility functions. They haven't -.. % all been documented yet. - - :mod:`distutils.archive_util` --- アーカイブユーティリティ =========================================================== @@ -747,7 +731,7 @@ .. function:: make_zipfile(base_name, base_dir[, verbose=0, dry_run=0]) - *base_dir* 以下の全ファイルから、zipファイルを作成します。出力される zipファイルは *base_dir* + + *base_dir* 以下の全ファイルから、zipファイルを作成します。出力される zipファイルは *base_name* + :file:`.zip` という名前になります。 :mod:`zipfile` \ Pythonモジュール(利 用可能なら)またはInfoZIP :file:`zip` ユーティリティ(インストールされていてパスが通っているなら)を 使います。 もしどちらも利用できなければ、 :exc:`DistutilsExecError` が起きます。出 力zipファイル名が返ります。 @@ -1417,8 +1401,8 @@ ======================================================= .. module:: distutils.cmd - :synopsis: このモジュールは Command 抽象ベースクラスを提供します。このク ラスは distutils.commandサブパッケージ中のモジュールでサブクラス - を作るために利用されます。 + :synopsis: このモジュールは Command 抽象ベースクラスを提供します。このク ラスは + distutils.command サブパッケージ中のモジュールでサブクラスを 作るために利用されます。 このモジュールは抽象ベースクラス :class:`Command` を提供します。 @@ -1437,6 +1421,62 @@ クラスのコンストラクタは :class:`Distribution` のインスタンスである単一 の引数 *dist* をとります。 +.. Creating a new Distutils command + +新しいDistutilsコマンドの作成 +============================= + +このセクションではDistutilsの新しいコマンドを作成する手順の概要をしめしま す。 + +新しいコマンドは :mod:`distutils.command` パッケージ中のモジュールに +作られます。 :file:`command_template` というディレクトリにサンプルのテン +プレートがあります。このファイルを実装しようとしているコマンドと同名の新し いモジュールにコピーしてください。 +このモジュールはモジュール(とコマンド)と同じ名前のクラスを実装する必要があ ります。そのため、 ``peel_banana`` コマンド(ユーザは +``setup.py peel_banana`` と実行できます)を実装する際に は、 :file:`command_template` を +:file:`distutils/command/peel_banana.py` にコピーし、 +:class:`distutils.cmd.Command` のサブクラス :class:`peel_banana` +クラスを実装するように編集してください。 + +:class:`Command` のサブクラスは以下のメソッドを実装する必要があります。 + +.. method:: Command.initialize_options() + + このコマンドがサポートする全てのオプションのデフォルト値を設定します。こ れらのデフォルトは他のコマンドやセットアップスクリプト、設定ファイル + 、コマンドラインによって上書きされるかもしれません。そのためオプション間 の依存関係を記述するには適切な場所ではありません。 + 一般的に :meth:`initialize_options` は単に ``self.foo = None`` のような 定義だけを行います。 + + +.. method:: Command.finalize_options() + + このコマンドがサポートする全てのオプションの最終的な値を設定します。これ は可能な限り遅く呼び出されます。つまりコマンドラインや他のコマンド + によるオプションの代入のあとに呼び出されます。そのため、オプション間の依 存関係を記述するのに適した場所です。もし *foo* が *bar* + に依存しており、かつまだ *foo* が :meth:`initialize_options` で定義され た値のままなら、 *foo* + を *bar* から代入しても安全です。 + + +.. method:: Command.run() + + コマンドの本体です。実行するべきアクションを実装していま す。 :meth:`initialize_options` で初期化され、他のコマンド + され、セットアップスクリプト、コマンドライン、設定ファイルでカスタマイ + ズされ、 :meth:`finalize_options` で設定されたオプションがアクションを制 御します。 + 端末への出力とファイルシステムとのやりとりは全て :meth:`run` が行いま す。 + +.. attribute:: Command.sub_commands + + *sub_commands* はコマンドの"ファミリー"を定式化したものです。たとえば ``install`` はサブコマンド + ``install_lib`` ``install_headers`` などの親です。コマンドファミリーの親 は + *sub_commands* をクラス属性として持ちます。 + *sub_commands* は2要素のタプル ``(command_name, predicate)`` のリスト で、 + *command_name* は文字列、 *predicate* は関数か文字列か ``None`` です。 + *predicate* はには親コマンドのメソッドで、 + 現在の状況がコマンド実行にふさわしいかどうか判断するものを指定します。 (例えば ``install_headers`` はインストールするべき + Cヘッダファイルがある時だけ有効です。) もし *predicate* が None なら、そ のコマンドは常に有効になります。 + + *sub_commands* は通常クラスの *最後* で定義されます。 これは predicate は + bound されていないメソッドになるので、全て先に定義されている必要があるた めです。 + 標準的な例は :command:`install` コマンドです。 + + :mod:`distutils.command` --- Distutils 各コマンド ================================================== @@ -1657,54 +1697,15 @@ .. % todo -新しいDistutilsコマンドの作成 -============================= - -このセクションではDistutilsの新しいコマンドを作成する手順の概要をしめしま す。 - -新しいコマンドは :mod:`distutils.command` パッケージ中のモジュールに -作られます。 :file:`command_template` というディレクトリにサンプルのテン -プレートがあります。このファイルを実装しようとしているコマンドと同名の新し いモジュールにコピーしてください。 -このモジュールはモジュール(とコマンド)と同じ名前のクラスを実装する必要があ ります。そのため、 ``peel_banana`` コマンド(ユーザは -``setup.py peel_banana`` と実行できます)を実装する際に は、 :file:`command_template` を -:file:`distutils/command/peel_banana.py` にコピーし、 -:class:`distutils.cmd.Command` のサブクラス :class:`peel_banana` -クラスを実装するように編集してください。 - -:class:`Command` のサブクラスは以下のメソッドを実装する必要があります。 - - -.. method:: Command.initialize_options() - - このコマンドがサポートする全てのオプションのデフォルト値を設定します。こ れらのデフォルトは他のコマンドやセットアップスクリプト、設定ファイル - 、コマンドラインによって上書きされるかもしれません。そのためオプション間 の依存関係を記述するには適切な場所ではありません。 - 一般的に :meth:`initialize_options` は単に ``self.foo = None`` のような 定義だけを行います。 - - -.. method:: Command.finalize_options() - - このコマンドがサポートする全てのオプションの最終的な値を設定します。これ は可能な限り遅く呼び出されます。つまりコマンドラインや他のコマンド - によるオプションの代入のあとに呼び出されます。そのため、オプション間の依 存関係を記述するのに適した場所です。もし *foo* が *bar* - に依存しており、かつまだ *foo* が :meth:`initialize_options` で定義され た値のままなら、 *foo* - を *bar* から代入しても安全です。 - - -.. method:: Command.run() - - コマンドの本体です。実行するべきアクションを実装していま す。 :meth:`initialize_options` で初期化され、他のコマンド - され、セットアップスクリプト、コマンドライン、設定ファイルでカスタマイ - ズされ、 :meth:`finalize_options` で設定されたオプションがアクションを制 御します。 - 端末への出力とファイルシステムとのやりとりは全て :meth:`run` が行いま す。 - -*sub_commands* はコマンドの"ファミリー"を定式化したものです。たとえば ``install`` はサブコマンド -``install_lib`` ``install_headers`` などの親です。コマンドファミリーの親は -*sub_commands* をクラス属性として持ちます。 2要素のタプル ``(command_name, predicate)`` のリストで、 -*command_name* には文字列、 *predicate* には親コマンドのメソッドで、 -現在の状況がコマンド実行にふさわしいかどうか判断するものを指定します。 (例 えば ``install_headers`` はインストールするべき -Cヘッダファイルがある時だけ有効です。) もし *predicate* が None なら、その コマンドは常に有効になります。 - -*sub_commands* は通常クラスの最後で定義されます。 これはpredicate は -boundされていないメソッドになるので、全て先に定義されている必要があるためで す。 - -標準的な例は :command:`install` コマンドです。 - +:mod:`distutils.command.check` --- パッケージのメタデータをチェックする +============================================================================ + +.. module:: distutils.command.check + :synopsis: パッケージのメタデータをチェックする + + +``check`` コマンドはパッケージのメタデータに対していくつかのテストをしま す。 +例えば、要求される全てのメタデータが :func:`setup` 関数の引数に渡されている かを +検証します。 + +.. % todo