2020年に書いた個人的なまとめです
-
Python のほぼほぼデファクトスタンダードと言っていいパッケージ管理ツール
-
Pythonのパッケージ手段は数あれど、 ensurepip が標準になっているので公式に近い存在
- 参考: 数あるパッケージ手段の例 https://packaging.python.org/key_projects/#non-pypa-projects
-
pip は PYPAのプロジェクト
-
PYPA とは
- Python Packaging Authority
- pip や setuptools を開発
- Python core development team と協力している
- docs.python.org のパッケージング関連の改善も行う
-
Python Package Index
- pip 形式に対応した パッケージディストリビュション
-
パッケージ仕様の理解は基本的にここが参考になる
- Python パッケージングの標準を知ろう - Tech Blog - Recruit Lifestyle Engineer
-
setuptools 以外の依存についてはうまく扱えないということです。 このままでは、パッケージングに関する改善に PyPA 以外のコミュニティが貢献できないことにもなります。
-
ensurepip は標準だが pip は標準ではない
-
ensurepip パッケージは pip インストーラを既にインストールされている Python 環境や仮想環境にブートストラップする助けになります
- ensurepip --- pip インストーラのブートストラップ — Python 3.9.1 ドキュメント
- 標準パッケージの中に確かに存在していない
- ubuntu には最初から python3 が入っているものの、pip が最初から入ってない
-
-
(個人的な意見) pyproject.toml を使った pip エコシステムに則ったパッケージングがスタンダードになっていく