pipとpipenvとpoetryの技術的・歴史的背景とその展望

https://vaaaaaanquish.hatenablog.com/entry/2021/03/29/221715
pipとpipenvとpoetryの技術的・歴史的背景とその展望

– はじめに –
Pythonのパッケージ管理ツールは、長らく乱世にあると言える。

特にpip、pipenv、poetryというツールの登場シーン前後では、多くの変革がもたらされた。

本記事は、Pythonパッケージ管理ツールであるpip、pipenv、poetryの3つに着目し、それぞれのツールに対してフラットな背景、技術的な説明を示しながら、所属企業内にてpoetry移行大臣として1年活動した上での経験、移行の意図について綴り、今後のPythonパッケージ管理の展望について妄想するものである。

注意:本記事はPythonパッケージ管理のベストプラクティスを主張する記事ではありません。背景を理解し自らの開発環境や状態に応じて適切に技術選定できるソフトウェアエンジニアこそ良いソフトウェアエンジニアであると筆者は考えています。

重要なポイントのみ把握したい場合は、各章の最後のまとめを読んで頂ければと思います

 

– はじめに –
– Pythonのパッケージ管理ツール概論 –
pip
pyproject.toml (PEP 518)
2020-resolver
pipenv
poetry
Anacondaなど他ツール
まとめ
– pipenvとpoetryの技術的・歴史的背景 –
パッケージングについて
lock生成までの速度
pipenvは開発がここ2年滞っていた件
pipenvのissue対応
PyPAの開発フロー
活動や対応に関するゴシップ
まとめ
– poetry大臣としての活動記録 –
VPN必須なpipenv lockがかなり遅かった
乱立するファイルと管理場所
gokartなどOSSとの管理方法統一
活動全体の結果
まとめ
– おわりに –
– 参考文献 –

 

– Pythonのパッケージ管理ツール概論 –
まずはじめに、2020年3月現在、主に「Python パッケージ管理」等のワードでググると出てくる3つの大きなツール、pip、pipenv、poetryについて概論的に説明する。

最も表面的な概要だけ把握するために、私が社内向けに作成した資料を以下に引用する。

 

コメント