pip対easy_install

easy_install は、現在では deprecated とされていますが、2004年に Setuptools の一部として公開されました。 PyPI から パッケージ と、要求事項指定子を利用して依存関係にあるパッケージをも自動的にインストールすることが当時としては画期的でした。

依然として Setuptools を部品に使ってビルドされてはいますが、 easy_install を置き換えるものとして pip が2008年に後からやってきました。当時はパッケージを (かなり単純に sdists から「フラット」なパッケージとしてインストールするものであって) Eggs の形でインストールするものでも、 Eggs からインストールするものでも なかった こと、そして、簡単に環境を再現する力をユーザに与える Requirements Files の考え方を導入したことは注目に値します。

pipと非推奨となったeasy_installの重要な違いをおさらいしておきましょう:

pip

easy_install

Wheels からのインストール

はい

いいえ

パッケージのアンインストール

はい (python -m pip uninstall)

いいえ

依存関係を上書きする

はい (Requirementsファイル

いいえ

インストールされたパッケージのリスト

はい (python -m pip list and python -m pip freeze)

いいえ

PEP 438 サポート

はい

いいえ

インストールフォーマット

egg-info のメタデータを伴った「フラット」なパッケージ。

カプセル化されたEggフォーマット

sys.pathの変更

いいえ

はい

Eggs からのインストール

いいえ

はい

pylauncher support

いいえ

はい [1]

複数バージョンのインストール

いいえ

はい

インストール中にスクリプトを除外する

いいえ

はい

プロジェクトごとの索引

virtualenvの中のみ

はい、setup.cfgを通じて