pip list・pip show・pip freeze の違いを新人エンジニアにもわかりやすく解説!
こんにちは。ゆうせいです。
Pythonで開発をしていると、だんだん環境の中にいろいろなライブラリが増えてきますよね。
でも、ふとした瞬間にこう思いませんか?
「今この環境に何が入ってるんだろう?」
「どのバージョンのライブラリを使ってるんだっけ?」
そんなときに役立つのが、pip list
、pip show
、pip freeze
の3つです。
似ているようで目的が違うので、初心者のうちにしっかり使い分けを理解しておきましょう!
1. pip list:インストールされているパッケージの一覧を表示
まずは一番よく使うpip list
です。
pip list
これを実行すると、現在のPython環境に入っているすべてのパッケージとそのバージョンが一覧で表示されます。
出力例はこんな感じです。
Package Version
---------- -------
numpy 1.26.2
pandas 2.1.1
requests 2.31.0
つまり、今この環境にどんなライブラリが入っているかをざっくり確認するコマンドです。
プロジェクトで使っているライブラリが正しいかをチェックしたり、
他の環境と比べるときにも便利です。
2. pip show:特定のパッケージの詳細情報を確認
次はpip show
です。
pip show requests
このコマンドは、特定のパッケージに関する詳しい情報を表示します。
出力の例を見てみましょう。
Name: requests
Version: 2.31.0
Summary: Python HTTP for Humans.
Home-page: https://requests.readthedocs.io
Author: Kenneth Reitz
Location: /usr/local/lib/python3.11/site-packages
Requires: certifi, charset-normalizer, idna, urllib3
ここで重要なのは「Location」と「Requires」の2つです。
- Location … どのフォルダ(どの環境)にインストールされているか
- Requires … 依存しているパッケージ
たとえば、「requests」がどのPython環境に入っているかを確認したいとき、
このコマンドを使えば確実にわかります。
3. pip freeze:現在の環境を「再現」するための一覧
さて、3つ目のpip freeze
はちょっと特別です。
pip freeze
を実行すると、出力はこんなふうになります。
numpy==1.26.2
pandas==2.1.1
requests==2.31.0
pip list
との違いは、フォーマットが「requirements.txt」用になっているという点です。
つまり、この出力をそのままファイルに保存しておくと、
他の人がまったく同じ環境を再現できるようになります!
たとえばこうです。
pip freeze > requirements.txt
これで「requirements.txt」というファイルが作成されます。
他の人は次のコマンドで同じ環境を再現できます。
pip install -r requirements.txt
これがいわゆる「環境の共有」です。
4. 3つのコマンドの違いを整理してみよう
コマンド | 主な用途 | 出力内容 | よく使う場面 |
---|---|---|---|
pip list | すべてのパッケージを確認 | 一覧(見やすい) | 今の環境をざっと確認 |
pip show | 特定パッケージの詳細 | 名前・バージョン・場所など | 特定ライブラリの情報を調べたいとき |
pip freeze | 環境を再現・共有 | requirements.txt形式 | 環境を他人と共有・再現 |
5. 例えでイメージしてみよう
pip list
… 冷蔵庫の中をパッと開いて「どんな食材があるか」見る感じpip show
… 特定の食材を手に取って「賞味期限・原産地・成分表」を調べる感じpip freeze
… 冷蔵庫の中の中身リストを紙に書いて、「同じ買い物ができるように」する感じ
こう考えると、それぞれの役割がスッと頭に入りますね!
6. 注意点:環境によって結果が違う!
Pythonは仮想環境ごとに独立してパッケージを管理します。
つまり、同じパソコンでも「pip list」の結果が環境によって違うんです。
確認するには以下のコマンドを使ってみましょう。
which python
python -m pip list
これで、今どのPython環境を使っているのかと、その環境のパッケージ一覧が確認できます。
7. まとめ
コマンド | 内容 | 備考 |
---|---|---|
pip list | 現在インストール済みのパッケージを一覧表示 | 見やすい |
pip show | 特定のパッケージの詳細を確認 | 依存関係や場所がわかる |
pip freeze | 環境を再現するための出力を作成 | requirements.txt用 |
8. 今後の学習の指針
・まずは「pip list」と「pip show」で、自分のPython環境をよく観察してみよう。
・開発プロジェクトでは、pip freeze > requirements.txt
を定期的に実行しておくこと。
・次のステップでは、「仮想環境(venv)」を学んで、
「プロジェクトごとに独立したパッケージ管理」ができるようになりましょう!
セイ・コンサルティング・グループの新人エンジニア研修のメニューへのリンク
投稿者プロフィール
- 代表取締役
-
セイ・コンサルティング・グループ株式会社代表取締役。
岐阜県出身。
2000年創業、2004年会社設立。
IT企業向け人材育成研修歴業界歴20年以上。
すべての無駄を省いた費用対効果の高い「筋肉質」な研修を提供します!
この記事に間違い等ありましたらぜひお知らせください。