2021 年の更新: Python には、卵を作成して使用するためのツールが存在しなくなりました。
2 つ以上の異なる種類の Python (ディストリビューション) パッケージがあります。このコマンドは、多くのサブコマンドを一覧表示します。
$ python setup.py --help-commands
さまざまな異なるbdistタイプに注意してください。
Eggは新しいパッケージ タイプで、setuptools によって導入されましたが、後に標準ライブラリによって採用されました。にモノリシックにインストールすることを意図していますsys.path。これは、実行することを意図したsdistパッケージとは異なり、setup.py install各ファイルを所定の場所にコピーし、おそらく他のアクション (拡張モジュールのビルド、パッケージに含まれる追加の任意の Python コードの実行) も行います。
この時点で、卵はほとんど時代遅れです。編集: 卵はなくなりました。Python から削除されたコマンド「easy_install」で使用されていました。
現在好まれているパッケージ形式は「ホイール」形式であり、特に「pip install」で使用されます。
sdist を作成するか、egg (または wheel) を作成するかは、パッケージの依存関係を宣言できるかどうかとは関係ありません (インストール時に PyPI によって自動的にダウンロードされます)。この依存関係機能が機能するために必要なのは、distribute (setuptools の後継) またはdistutils2 (distutils の後継 -現在の開発バージョンの Python 3 ではパッケージングとして知られている) によって提供される追加の API を使用して依存関係を宣言することだけです。バツ)。
https://packaging.python.org/は、パッケージ化に関する詳細情報を提供する優れたリソースです。依存関係の宣言の詳細の一部をカバーしています (例: install_requiresですが、extras_requireafaict ではありません)。