pip対easy_install#
:ref:`easy_install <easy_install>`は、現在では`非推奨`とされていますが、2004年に:ref:`setuptools`の一部として公開されました。requirementsファイルを利用して自動的に依存関係にあるパッケージも併せて:term:`PyPI <Python Package Index (PyPI)>`から:term:`packages <Distribution Package>`をインストールすることができるというのは当時としては画期的でした。
依然として:ref:`setuptools`を部品に使ってビルドされてはいますが、:ref:`easy_install <easy_install>`を置き換えるものとして:ref:`pip`が2008年に後からやってきました。当時はパッケージを(かなり単純に:term:`sdists <Source Distribution (or "sdist")>`から「フラット」なパッケージとしてインストールするものであって):term:`Eggs <Egg>`の形でインストールするものでも、:term:`Eggs <Egg>`からインストールするものでも*なかった*こと、そして、簡単に環境を再現する力をユーザに与える:ref:`Requirements Files <pip:Requirements Files>`の考え方を導入したことは注目に値します。
pipと非推奨となったeasy_installの重要な違いをおさらいしておきましょう:
pip |
easy_install |
|
:term:`Wheels <Wheel>`からのインストール |
はい |
いいえ |
パッケージのアンインストール |
はい ( |
いいえ |
依存関係を上書きする |
はい (Requirementsファイル |
いいえ |
インストールされたパッケージのリスト |
はい ( |
いいえ |
PEP 438 サポート |
はい |
いいえ |
インストールフォーマット |
:file:`egg-info`のメタデータを伴った「フラット」なパッケージ。 |
カプセル化されたEggフォーマット |
sys.pathの変更 |
いいえ |
はい |
:term:`Eggs <Egg>`からのインストール |
いいえ |
はい |
いいえ |
はい [1] |
|
いいえ |
はい |
|
インストール中にスクリプトを除外する |
いいえ |
はい |
プロジェクトごとの索引 |
virtualenvの中のみ |
はい、setup.cfgを通じて |