# 27.1. `distutils` --- Python モジュールの構築とインストール

`distutils` パッケージは、現在インストールされている Python に追加するためのモジュール構築、および実際のインストールを支援します。新規のモジュールは 100%-pure Python でも、C で書かれた拡張モジュールでも、あるいは Python と C 両方のコードが入っているモジュールからなる Python パッケージでもかまいません。

Python ユーザの大半はこのパッケージを直接使い たくはない でしょうが、代わりに Python Packaging Authority が保守しているクロスバージョンツールを使うでしょう。特に、setuptools は `distutils` の改良された代替品で、以下を提供しています:

- プロジェクトの依存性の宣言のサポート
- ソースのリリースの際どのファイルを含めるか指定する追加の機構 (バージョン管理システムとの統合のためのプラグインも含む)
- プロジェクトの "エントリーポイント" を宣言する機能、アプリケーションプラグインシステムとして使うことができます
- インストール時に事前にビルドすることなく、Windows コマンドライン実行ファイルを自動的に生成する機能
- サポートしている Python の全バージョンで一貫性のある挙動

たとえスクリプト自身が `distutils` のみをインポートしていても、推奨される pip インストーラは `setuptools` で全 `setup.py` スクリプトを実行します。詳細は Python Packaging User Guide を参照してください。

現在のパッケージと配布システムへの理解を深めようとしている著者やユーザのために、レガシーな `distutils` に基づくユーザドキュメントと API のリファレンスは利用可能なままになっています。

- Python モジュールのインストール (旧版)
- Python モジュールの配布 (レガシーバージョン)