summary:
Pythonには当初,標準的なパッケージ管理ツールが存在せず,ユーザーは手動でライブラリをインストールする必要があった.その後,1998年にPythonの公式標準ライブラリにdistutilsが導入され,2004年にはsetuptoolsが登場したことで,easy_installというコマンドが提供され,パッケージのインストールが多少簡単になった.しかし,easy_installには依存関係の管理が難しいこと,パッケージの部分的なアップグレードができないこと,アンインストールができないといった問題があり,それらを解決するために,2008年,イアン・ビッキング[Ian Bicking]によってpipが開発された.pipの最初のバージョンである0.1は2008年4月にリリースされ,easy_installの代替として注目を集めるようになった.
2013年にはPython Enhancement Proposal[PEP 453]により,pipをPythonの標準パッケージ管理ツールとする提案がなされ,2014年にリリースされたPython 3.4からはpipがデフォルトで同梱されるようになった.これにより,Pythonをインストールすると自動的にpipが使用できるようになり,開発者にとってより使いやすい環境が整備された.
その後もpipの改良は続けられ,2020年にリリースされたpip 20.3では,依存関係解決の2020プロジェクト[Dependency Resolution in 2020]の一環として,依存関係をより正確に解決できる新たなアルゴリズムresolvelibが導入された.また,2021年のpip 21.0では,Python 2のサポートが終了し,Python 3専用のツールとなった.2023年以降はセキュリティ強化のため,PyPIにおけるすべてのユーザーアカウントに対して2要素認証[2FA]が必須となり,パッケージの署名検証機能も強化されるなど,安全性の向上が図られている.
pipの主要な機能として,パッケージのインストールやアンインストールの他に,キャッシュ機能による効率的なパッケージ管理,requirements.txtを使用した依存関係の一括管理,コンパイル済みパッケージであるwheelファイルのサポートなどがある.このように,pipはPythonのパッケージ管理を簡単にするために進化を続け,現在ではPython開発の必須ツールとして広く利用されている.
Mathematics is the language with which God has written the universe.