pip
パッケージ管理ツールを見ると、その言語の「価値観」が見える Composer:共有サーバー文化から生まれた設計 プロジェクトを“閉じる”ことを最優先にしている autoloadという標準化装置 npm:アプリケーション開発を中心にした文化 開発フローの入口になるpac…
pipとComposerは「同じ役割のツール」だが、思想はかなり違う 共通点:依存関係を解決するパッケージ管理ツール できることはほぼ同じ ロックファイルの存在 最大の違い:環境中心のpip、プロジェクト中心のComposer pipは「Python環境」にインストールする …
Node.jsとPythonのパッケージ管理の前提の違い Node.jsは「このフォルダの中だけ見ればいい」 Pythonは「どのPythonに入れたか」を常に意識する 仮想環境が前提になるPythonのパッケージ管理 なぜPythonでは仮想環境が必要なのか 実際にやるとこうなる:venv…
Pythonにおける依存関係管理の現実 lockファイルとは何を解決する仕組みなのか requirements.txtだけでは足りない理由 Pythonで使われる主なlockファイルの形 pip + requirements.lock(またはpip freeze) Pipenv(Pipfile.lock) Poetry(poetry.lock) 実…
Pythonのパッケージ管理が複雑に見える理由 pipが抱えてきた前提と限界 condaが生まれた理由と向いている用途 poetryやpipenvが解決しようとした課題 なぜ「これ一択」にならないのか 実際に起きがちな失敗例 リスクと注意点 結局どうすればいいか Pythonの…
Pythonのパッケージ管理が複雑に見える理由 pipが抱えてきた前提と限界 condaが生まれた理由と向いている用途 poetryやpipenvが解決しようとした課題 なぜ「これ一択」にならないのか 実際に起きがちな失敗例 リスクと注意点 結局どうすればいいか Pythonの…
pip freezeをそのままコミットするのはおすすめしにくい pip freezeとは何をするコマンドか pip freezeの基本的な役割 本来想定されている使いどころ そのままコミットすると何が起きやすいのか 直接依存していないパッケージまで固定される 環境差分がその…
requirements.txtとは何を解決してきた仕組みか requirements.txt管理が怪しくなり始める典型的な兆候 ライブラリの数が増え、用途が混ざり始めたとき バージョン指定が場当たり的になったとき 開発者ごとに環境差異が出始めたとき 実際に起きがちな失敗パタ…
pip + venvは悪者ではないが、万能でもない 開発環境が増え始めたとき requirements.txtが育ちすぎたとき チーム開発でのすれ違い CI/CDと組み合わせたときの違和感 実際にやるとこうなりがち、という話 向いているケースと、見直したいケース リスクと注意…
requirements.txtとは何をするファイルなのか なぜrequirements.txtが必要なのか バージョン指定の書き方と意味 pip freezeとrequirements.txtの違い よくある失敗パターン requirements.txtが向いているケース リスクと注意点 結局どうすればいいか Python…
pipとは何かを一言でいうと なぜPython初心者はpipでつまずきやすいのか Python本体とpipは別物 エラー文が英語で分かりづらい pipで何ができるのか 実際にpipを使うとこうなる pipを使う上で知っておきたい注意点 環境を壊す可能性がある バージョン違いに…
はじめに:結局、パッケージ管理ツールはどう選べばいいのか パッケージ管理ツールとは何をしているのか そもそも「パッケージ」とは パッケージ管理ツールの基本的な役割 なぜパッケージ管理ツールは複数存在するのか 言語ごとに事情が違う 同じ言語でも複…