仮想環境(venv)で明示的にインストールしたパッケージの一覧を取得したく、pip freeze
を使ったのですが、依存でインストールされたパッケージまで含まれているもので欲しい一覧になりませんでした。
調べた所、pip-chill
パッケージで欲しかった一覧が取れたのでメモしておきます。
※ 但し、手元の環境で試した限りは意図しない一覧になる場合もあったので注意が必要そうです。
→ 明示的にインストールしたものが依存先になっているパッケージをインストールしたとか。
(例) numpy
インストール後に pandas
をインストールすると numpy
が出なくなる。
これぐらいなら良いんですが、別パターンで私には意図が読めない結果の場合もありました。
pip-chill
のインストールは以下でOK。
pip install pip-chill
この後 pip-chill
を実行すると以下のエラーが発生したので、pip install setuptools
を実行しました。
ModuleNotFoundError: No module named 'pkg_resources'
そして、pip install pandas
した後の pip freeze
と pip-chill
の違いは以下の通り。
$ pip freeze
numpy==1.26.4
pandas==2.2.2
pip-chill==1.0.3
python-dateutil==2.9.0.post0
pytz==2024.1
setuptools==69.2.0
six==1.16.0
tzdata==2024.1
$ pip-chill
pandas==2.2.2
pip-chill==1.0.3
コメント