[解決!Python]pipコマンドでパッケージをインストール/アンインストールするには解決!Python

Pythonの標準的なパッケージインストーラーであるpipコマンドを使ってパッケージをインストールしたりアンインストールしたり、インストールされているパッケージを調べたりする方法を紹介する。

» 2024年05月07日 05時00分 公開
[かわさきしんじDeep Insider編集部]
「解決!Python」のインデックス

連載目次

* 本稿は2022年12月13日に公開された記事をPython 3.12.3およびpip v24.0で動作確認したものです(確認日:2024年5月7日)。

パッケージのインストール

コマンド 説明
pip install somepackage somepackageの最新バージョンをインストールする
pip install somepackage==x.y.z バージョンを指定してsomepackageをインストールする
pip install "somepackage>=x.y.z" バージョンの下限を指定してsomepackageをインストールする
pip install --upgrade somepackage somepackageを最新バージョンにアップグレードする
pip install -r requirements.txt requirements.txtファイルに記述されているパッケージをインストールする
pip install somepkg@git+https://github.com/user/somepkg.git@vx.y.z GitHubからsomepkgの特定のバージョンをインストールする
pip installコマンド

パッケージのアンインストール

コマンド 説明
pip uninstall somepackage somepackageをアンインストール
pip uninstall --yes somepackage 確認プロンプトを表示せず、アンインストールを行う
pip uninstall -r requirements.txt requirements.txtファイルに記述されているモジュールをアンインストールする
pip uninstallコマンド

インストールされているパッケージの一覧

コマンド 説明
pip freeze インストールされているパッケージの一覧を出力する
pip freeze > requirements.txt インストールされているパッケージの一覧をrequirements.txtファイルに出力する
pip list インストールされているパッケージの一覧を出力する
pip show somepackage somepackageについての情報を出力する
パッケージを一覧するコマンド

pipコマンド

 pipコマンドはPythonの代表的なパッケージインストーラーの一つであり、多くのPython処理系では、処理系本体とともにインストールされている。

 pipはコマンドラインツールとしても、pythonコマンドの-mオプションにモジュール名として「pip」を指定しても実行できる。pipコマンドを実行すると、そのときに環境変数PATHで先頭に近い位置に記述されているディレクトリに含まれるPythonバージョンとそれに対応するpipモジュールが使われて、そのバージョンの環境にパッケージがインストールされる。これに対して、「python -m pip ……」形式でpipを実行すると、使用するPython環境(つまり、パッケージをインストールする環境)を指定できる。

 例えば、Python 3.11のインストールディレクトリがPython 3.10のインストールディレクトリよりも環境変数PATHで先に記述されている場合、「pip install somepackage」コマンドを実行すると、Python 3.11の環境にパッケージがインストールされる。「python -m pip ……」としてもこれは同様だが、バージョンを指定して「python3.10 -m pip somepackage」とするとPython 3.10の環境にパッケージがインストールされる。

 ただし、多くの場合はPCにインストールしたPython環境にパッケージを無差別にインストールするのではなく、venvモジュールなどを使って、プロジェクトごとに仮想環境を構築して、その環境にパッケージをインストールするのがよいだろう(仮想環境の構築については別稿で取り上げる予定だ)。

% pip --help  # pipをコマンドとして起動
% python -m pip --help  # pythonコマンドからpipを使用
% python3.10 -m pip --help  # Python 3.10(と対応するpipモジュール)を使用

 Windows環境ではPythonの起動ユーティリティーであるpyコマンドが使われることもある。このときには、pipコマンドがパスに含まれていないことがほとんどだ。このときには以下の例に示すように「py -m pip」のようにしてpipコマンドを起動することになる。このときにはpyコマンドに「-バージョン」を付加して、使用するPythonのバージョンを指定できる(Microsoft Store経由でインストールしたPython処理系については「python3.9 -m pip ……」のような形式でpipを実行可能だ)。

> py -m pip --help  # Windowsではpythonコマンドではなくpyコマンドのことが多い
> py -3.10 -m pip --help  # Python 3.10(と対応するpipモジュール)を使用

 本稿では一貫して「pip コマンド オプション」形式を用いて例を示すことにする。また、環境によってはpipコマンドではなく、pip3コマンドとして実行することもあるが本稿では「pip」とする。ご自分の使い方に応じて「python -m pip ……」「pip3 ……」などと読み替えていただきたい。

 pipコマンドには多くのコマンドが用意されている。それらのうち幾つかを以下にまとめておこう。

  • pip installコマンド:パッケージのインストール
  • pip uninstallコマンド:パッケージのアンインストール
  • pip freezeコマンド:現在の環境にインストールされているパッケージの一覧を出力
  • pip listコマンド:現在の環境にインストールされているパッケージの一覧を出力
  • pip showコマンド:指定したパッケージについての情報を出力

 以下ではこれらについて見ていく。

pip installコマンド:パッケージのインストール

 pip installコマンドは指定したパッケージを現在の環境にインストールする。以下は一番簡単なインストールの例だ。

% pip install somepackage

 このときにはPyPIからsomepackageの最新バージョンとこのパッケージが依存するパッケージがインストールされる。インストールするパッケージを複数指定することも可能だ。

 バージョンを指定してパッケージをインストールするには「パッケージ名==x.y.z」とする。「x.y.z」はインストールしたいパッケージのバージョンである。あるいは「'パッケージ名>=x.y.z'」のように「このバージョンかそれより新しいバージョン」のような指定も可能だ。ただし、その場合は「"パッケージ名>=x.y.z"」のようにダブルクオートまたはシングルクオートで囲む必要がある。

% pip install somepackage==x.y.z
% pip install "somepackage>=x.y.z"

 インストール済みのパッケージをバージョンアップ(アップグレード)するにはinstallコマンドに--upgradeオプションを指定する。

% pip install --upgrade somepackage

 ローカルに何らかのPythonプロジェクトを持ってきた(GitHubからプロジェクトをクローンした)ときには、そのプロジェクトで必要とされているパッケージを複数まとめてインストールしたいときがある。このときには、そのプロジェクトが依存しているパッケージをまとめて記述したファイル、いわゆる「requirements.txt」ファイルを用いて、一気にそれらをインストールできる。これにはpip installコマンドの-rオプションにrequirements.txtを指定する。

% pip install -r requirements.txt

 最後にPyPIではなくGitHubリポジトリからパッケージをインストールするコマンドラインの例を以下に示す。リモートリポジトリからパッケージをインストールする詳細については別項で取り上げる予定だ。

% pip install somepkg@git+https://github.com/user/somepkg.git@vx.y.z

pip uninstallコマンド:パッケージのアンインストール

 パッケージをアンインストールするには、pip uninstallコマンドを使用する。

 以下にシンプルな例を示す。

% pip uninstall somepackage

 この例は現在の環境にインストールされているsomepackageパッケージをアンインストールするものだ。ただし、somepackageが依存しているパッケージについてはインストールされないことに注意しよう。アンインストールする対象は複数指定してもよい。

 以下にまっさらの仮想環境にrequestsパッケージをインストールした状態で、このパッケージをアンインストールしようとした際の出力を示す(macOS)。

% pip uninstall requests
Found existing installation: requests 2.28.1
Uninstalling requests-2.28.1:
  Would remove:
    /Users/someuser/……/venv/lib/python3.11/site-packages/requests-2.28.1.dist-info/*
    /Users/someuser/……/venv/lib/python3.11/site-packages/requests/*
Proceed (Y/n)?

 このようにアンインストール時には「Proceed (Y/n)?」というプロンプトが表示され、これにyと答えることでアンインストールが実行される。「pip uninstall pkg1 pkg2 pkg3」のように複数のパッケージをアンインストールしようとすると、パッケージごとにアンインストールの確認プロンプトが表示されるので、煩わしく感じるかもしれない。このようなときには--yesオプション(-yオプション)を指定すると、削除の確認を省略して、指定したパッケージのアンインストールをまとめて行える。

% pip uninstall --yes somepackage

 requirements.txtファイルに記述されているパッケージをまとめてアンインストールすることも可能だ。これにはpip uninstallコマンドの-rオプションにrequirements.txtファイルを指定するだけだ(このときにも確認プロンプトがパッケージごとに表示されるので、面倒だという人は上で紹介した--yesオプションを指定するようにしよう)。

% pip uninstall -r requirements.txt

インストールされているパッケージの一覧

 現在の環境にどんなパッケージがインストールされているかは、pip freezeコマンド、pip listコマンドで確認できる。前者はデフォルトでrequirements.txtファイルの記述フォーマットに合致した形式で出力が行われる。後者はデフォルトで表形式の出力が行われる。

% pip freeze
% pip list

 以下は仮想環境にpipコマンドでrequestsパッケージをインストールした状態でpip freezeコマンドを実行した結果だ。

% pip freeze
certifi==2022.12.7
charset-normalizer==2.1.1
idna==3.4
requests==2.28.1
urllib3==1.26.13

 このようにrequestsパッケージをインストールするだけで、これが依存する複数のパッケージが同時にインストールされることが分かる。また、各行には「パッケージ名==インストールされているバージョン」形式でインストールされているパッケージが記述されていることも分かる。

 自分が何らかのパッケージやモジュールを開発している場合、pip freezeコマンドの出力をrequirements.txtファイルにリダイレクトすれば、必要なパッケージをファイルにまとめられる。これがあれば、誰か他の人にプロジェクトを渡したり、別の位置でプロジェクトをコピーしたりクローンしたりしたときに、必要な依存関係のインストールが簡単に行えるようになる。

% pip freeze > requirements.txt

 一方、pip listコマンドを実行すると、その結果は次のようになる。

% pip list
Package            Version
------------------ ---------
certifi            2022.12.7
charset-normalizer 2.1.1
idna               3.4
pip                22.3.1
requests           2.28.1
setuptools         65.5.0
urllib3            1.26.13

 pip listコマンドの出力には、pip freezeコマンドでは出力されなかったpipとsetuptoolsの2つのパッケージも含まれている点にも注意しよう(pip freezeコマンドの出力にこれらが含まれないのは「pip uninstall -r requirements.txt」コマンドでpipやsetuptoolsまでアンインストールされては困るからだろう)。

 pip listコマンドにはインストールされているパッケージのうち、もっと新しいバージョンがあるものを一覧する--outdated(-o)オプションや最新のパッケージであるものを一覧する--uptodate(-u)オプション、出力形式を変更する--formatオプションなどもある。詳しくはドキュメントを参照のこと。

 最後にインストールされているパッケージの情報を表示するには、pip showコマンドを使用する。

% pip show somepackage

「解決!Python」のインデックス

解決!Python

鬯ッ�ゥ隰ウ�セ�ス�ス�ス�オ�ス�ス�ス�ス�ス�ス�ス�コ鬯ッ�ョ�ス�ヲ�ス�ス�ス�ョ鬮ッ�キ�ス�サ�ス�ス�ス�サ�ス�ス�ス�ス�ス�ス�ス�ソ�ス�ス�ス�ス�ス�ス�ス�ス鬯ッ�ッ�ス�ッ�ス�ス�ス�ィ�ス�ス�ス�ス�ス�ス�ス�セ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�」鬯ッ�ッ�ス�ョ�ス�ス�ス�エ鬮」雋サ�ソ�ス�ス�ス�ス�・�ス�ス�ス�ス�ス�ス�ス�ウ�ス�ス�ス�ス�ス�ス�ス�ィ�ス�ス�ス�ス�ス�ス�ス�ス鬮ッ諛カ�ス�」�ス�ス�ス�、�ス�ス�ス�ス�ス�ス�ス�ク�ス�ス�ス�ス�ス�ス�ス�イ鬯ッ�ゥ陟�瑳�ス�ス�ス�ス�ソ�ス�ス�ス�ス�ス�ス邵コ�、�つ€�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�」鬯ッ�ッ�ス�ョ�ス�ス�ス�エ鬯ッ�ゥ陝カ螢ス譯カ�ス�ス�ス�ュ鬯ョ�ョ�ス�」�ス�ス�ス�ソ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ィ鬯ョ�ッ陋ケ�コ�ス�サ郢ァ謇假スス�ス�ス�ソ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�コ鬯ョ�」陋ケ�ス�ス�ス�ス�オ鬮ォ�エ隰ォ�セ�ス�ス�ス�エ�ス�ス�ス�ス髫カ髮」�ス�」�ス螳茨ス「謇假スス�ュ髮懶ス」�ス�ス�ス�「�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ゥ鬯ッ�ゥ陝キ�「�ス�ス�ス�「鬮ォ�エ髮懶ス」�ス�ス�ス�「�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�シ鬯ッ�ゥ陝キ�「�ス�ス�ス�「鬮ォ�エ闕ウ�サ�ス�ス髫カ謐コ�サ繧托スス�ソ�ス�ス驍オ�コ�ス�、�ス縺、ツ€鬯ッ�ッ�ス�ョ�ス�ス�ス�ヲ�ス�ス�ス�ス�ス�ス�ス�ェ鬯ゥ蛹�スス�カ髣費スィ�ス�ス�ス�ス�ス�ヲ�ス�ス�ス�エ�ス�ス邵コ�、�つ€鬮ッ�キ髣鯉スィ�ス�ス�ス�キ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�サ鬯ッ�ッ�ス�ッ�ス�ス�ス�ェ�ス�ス�ス�ス�ス�ス�ス�ュ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�イ鬯ッ�ゥ隰ウ�セ�ス�ス�ス�オ�ス�ス�ス�ス�ス�ス�ス�コ鬯ョ�ッ�ス�キ�ス�ス�ス�キ�ス�ス�ス�ス�ス�ス�ス�カ�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス�ス New

Copyright© Digital Advantage Corp. All Rights Reserved.

スポンサーからのお知らせPR

Deep Insider 髫ェ蛟�スコ荵斟帷ケ晢スウ郢ァ�ュ郢晢スウ郢ァ�ー

隴幢スャ隴鯉ス・隴帷」ッ菫」

注目のテーマ

4AI by @IT - AIを作り、動かし、守り、生かす
Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。