Python モジュールの配布 (レガシーバージョン)
********************************************

著者:
   Greg Ward, Anthony Baxter

Email:
   distutils-sig@python.org

参考:

  Python モジュールの配布
     最新のモジュール配布ドキュメンテーション

注釈:

  "distutils" パッケージ全体の使用は非推奨 (deprecated) であり、Python
  3.12 で削除されます。この文書は参照のために維持されており、パッケー
  ジとともに削除されます。詳しくは What's New エントリを参照してくださ
  い。

注釈:

  このドキュメントは、
  https://setuptools.readthedocs.io/en/latest/setuptools.html にある
  "setuptools" のドキュメントが現時点でここにある関連情報を全て網羅す
  るまで、単独でここに載せておかれます。

注釈:

  このガイドは、Python のバージョンの一部として提供される拡張のビルド
  と配布についての基礎的なツールについてのみをカバーします。サードパー
  ティによるツールが、容易に使えてもっと安全な代替として使えるでしょう
  。もっと詳しい情報は quick recommendations section にある Python パ
  ッケージングユーザガイドから得られます。

このドキュメントでは、 Python Distribution Utilities ("Distutils") に
ついてモジュール開発者の視点から解説します。 "setuptools" のビルドの基
盤となる機能を解説することで、 Python 開発者がより広範囲の利用者に向け
て、 Python のモジュールや拡張モジュールを手軽に使えるようにできます。

* 1. Distutilsの紹介

  * 1.1. 概念と用語

  * 1.2. 簡単な例

  * 1.3. Python 一般の用語

  * 1.4. Distutils 固有の用語

* 2. setup スクリプトを書く

  * 2.1. パッケージを全て列挙する

  * 2.2. 個々のモジュールを列挙する

  * 2.3. 拡張モジュールについて記述する

  * 2.4. パッケージと配布物の関係

  * 2.5. スクリプトをインストールする

  * 2.6. パッケージデータをインストールする

  * 2.7. 追加のファイルをインストールする

  * 2.8. 追加のメタデータ

  * 2.9. setup スクリプトをデバッグする

* 3. setup 設定ファイル (setup configuration file) を書く

* 4. ソースコード配布物を作成する

  * 4.1. 配布するファイルを指定する

  * 4.2. マニフェスト (manifest) 関連のオプション

* 5. ビルド済み配布物を作成する

  * 5.1. RPM パッケージを作成する

  * 5.2. Windows でのクロスコンパイル

* 6. distutils の例

  * 6.1. pure Python 配布物 (モジュール形式)

  * 6.2. pure Python 配布物 (パッケージ形式)

  * 6.3. 単体の拡張モジュール

  * 6.4. パッケージのチェック

  * 6.5. メタデータの読み込み

* 7. Distutilsの拡張

  * 7.1. 新しいコマンドの統合

  * 7.2. 配布物の種類を追加する

* 8. コマンドリファレンス

  * 8.1. モジュールをインストールする: **install** コマンド群

  * 8.2. ソース配布物を生成する: **sdist** コマンド

* 9. API リファレンス

  * 9.1. "distutils.core" --- Distutils のコア機能

  * 9.2. "distutils.ccompiler" --- CCompiler ベースクラス

  * 9.3. "distutils.unixccompiler" --- Unix C コンパイラ

  * 9.4. "distutils.msvccompiler" --- Microsoft コンパイラ

  * 9.5. "distutils.bcppcompiler" --- Borland コンパイラ

  * 9.6. "distutils.cygwincompiler" --- Cygwin コンパイラ

  * 9.7. "distutils.archive_util" --- アーカイブユーティリティ

  * 9.8. "distutils.dep_util" --- 依存関係のチェック

  * 9.9. "distutils.dir_util" --- ディレクトリツリーの操作

  * 9.10. "distutils.file_util" --- 1ファイルの操作

  * 9.11. "distutils.util" --- その他のユーティリティ関数

  * 9.12. "distutils.dist" --- Distribution クラス

  * 9.13. "distutils.extension" --- Extension クラス

  * 9.14. "distutils.debug" --- Distutils デバッグモード

  * 9.15. "distutils.errors" --- Distutils 例外

  * 9.16. "distutils.fancy_getopt" --- 標準 getopt モジュールのラッパ

  * 9.17. "distutils.filelist" --- FileList クラス

  * 9.18. "distutils.log" --- シンプルな **PEP 282** 形式のロギング

  * 9.19. "distutils.spawn" --- サブプロセスの生成

  * 9.20. "distutils.sysconfig" --- システム設定情報

  * 9.21. "distutils.text_file" --- TextFile クラス

  * 9.22. "distutils.version" --- バージョン番号クラス

  * 9.23. "distutils.cmd" --- Distutils コマンドの抽象クラス

  * 9.24. 新しいDistutilsコマンドの作成

  * 9.25. "distutils.command" --- Distutils 各コマンド

  * 9.26. "distutils.command.bdist" --- バイナリインストーラの構築

  * 9.27. "distutils.command.bdist_packager" --- パッケージの抽象ベー
    スクラス

  * 9.28. "distutils.command.bdist_dumb" --- "ダム"インストーラを構築

  * 9.29. "distutils.command.bdist_rpm" --- Redhat RPMとSRPM形式のバイ
    ナリディストリビューションを構築

  * 9.30. "distutils.command.sdist" --- ソース配布物の構築

  * 9.31. "distutils.command.build" --- パッケージ中の全ファイルを構築

  * 9.32. "distutils.command.build_clib" --- パッケージ中のCライブラリ
    を構築

  * 9.33. "distutils.command.build_ext" --- パッケージ中の拡張を構築

  * 9.34. "distutils.command.build_py" --- パッケージ中の.py/.pyc ファ
    イルを構築

  * 9.35. "distutils.command.build_scripts" --- パッケージ中のスクリプ
    トを構築

  * 9.36. "distutils.command.clean" --- パッケージのビルドエリアを消去

  * 9.37. "distutils.command.config" --- パッケージの設定

  * 9.38. "distutils.command.install" --- パッケージのインストール

  * 9.39. "distutils.command.install_data" --- パッケージ中のデータフ
    ァイルをインストール

  * 9.40. "distutils.command.install_headers" --- パッケージから C/C++
    ヘッダファイルをインストール

  * 9.41. "distutils.command.install_lib" --- パッケージからライブラリ
    ファイルをインストール

  * 9.42. "distutils.command.install_scripts" --- パッケージからスクリ
    プトファイルをインストール

  * 9.43. "distutils.command.register" --- モジュールをPython Package
    Indexに登録する

  * 9.44. "distutils.command.check" --- パッケージのメタデータをチェッ
    クする
