\ お問い合わせはこちら! /

【Python】パッケージ管理ツール pip の使い方

  • 外部ライブラリやフレームワークを使いたい!

Python の魅力の一つが豊富な外部ライブラリやフレームワークの存在です。

これらの外部ライブラリなどをインストールするには「パッケージ管理ツール」が必要であり、その一つが今回紹介する pip です。

Python をインストールすると、基本的には pip も一緒にインストールされます。
なので、最も手軽に使えるパッケージ管理ツールといえます。

今回はそんな pip の基本的な使い方をご紹介します。

pip の使い方

pip を使う際に頻出のコマンドをまとめました。

一般的な操作であれば、ここでご紹介するコマンドを覚えておけば十分かと思います。

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

requests ライブラリをインストールする場合は以下です。

pip install requests

二つ以上のライブラリをインストールする場合には、半角スペースを開けて列挙します。

pip install requests pandas

バージョンを指定する場合は==に続けてバージョンを指定します。

pip install requests==2.31.0

パッケージのアップデート

--upgrade pipコマンドを実行することで、最新版にアップデートできます。

pip install --upgrade requests

pip uninstall -U requestsとしても結果は同じです。

パッケージの削除

requests ライブラリをアンインストールする場合は以下のコマンドになります。

pip uninstall requests

複数ライブラリの削除は、半角スペースを挟んで行います。

pip uninstall requests pandas

インストール済みパッケージの一覧を表示

インストール済みのパッケージの確認にはpip listコマンドを使います。

pip list

requirements.txt に書き出し

現在インストールされているパッケージリストを requirements.txt に書き出すには、以下のコマンドを実行します。

pip freeze > requirements.txt

まったく別の環境でインストールしたパッケージを復元したい場合には、以下のコマンドで復元できます。

pip install -r requiremensts.txt

単にpip freezeとすると、パッケージのリストがテキストで標準出力されます。
これを> requirements.txtとすることで、テキストをファイルとして出力できるようになります。

依存関係に問題ないかを確認

pip check

ライブラリ A とライブラリ B が共に、ライブラリ C のインストールを要求している場合を考えてみましょう。

同じライブラリ C といっても、要求しているバージョンが違う場合があります。
そのような場合には、ライブラリ C のバージョンを開発者が決めうちで指定する必要がある場合があります。

これが依存性の解決です。

pip にはこの依存性の解決を行う機能がなく、自動で行いたい場合には Poetry などの別のパッケージ管理ツールを使うことになります。

pip のアップグレード

外部ライブラリと同様、pip そのものも pip でアップグレードできます。

pip install --upgrade pip

pip 自体も pip で管理されています。

トラブルシューティング

pip 自体のインストール方法

最新の Python なら pip は自動的にインストールされます。

ただし少し古めのバージョンをお使い場合などには、pip が付属していない場合があります。

以下、その場合の対応方法をご紹介します。

pip の存在を確認する

まずは、以下のコマンドを実行します。

python -m pip --version

これにより、現在の Python インタープリタに pip があるか確認できます。

get-pip.py

続いて、get-pip.py スクリプトをダウンロードします。

wget https://bootstrap.pypa.io/get-pip.py

pip のインストール

ダウンロードした get-pip.py スクリプトを実行して、pip をインストールします。

python3 get-pip.py

この記事が気に入ったら
フォローしてね!

シェア・記事の保存はこちら!

この記事を書いた人

karo@プログラマのアバター karo@プログラマ プログラマ

「書くことで人の役にたつ」をモットーに活動中。
本職はプログラマで、Python(Django)が得意。最近ではフロント側の技術に触れる機会も増えてきました。
基本情報技術者試験合格。

コメント

コメントする

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)