こんにちは、かつコーチです。
「先輩が作ったプロジェクトを渡されたけど、必要なライブラリが分からない」と困った経験はありませんか。
私も新人時代、同じような場面で先輩に何度も聞き直したことがあります。
この記事では、pipの基本的な使い方と、それを解決するrequirements.txtの書き方を解説します。
pipとは?
Pythonのライブラリを管理するツール
pip(ピップ)とは、Python用のパッケージ(他の人が作った便利な機能をまとめたライブラリ)をインストールするためのツールです。
Python 3には標準で同梱されているため、別途インストールする必要はほとんどありません。
Web開発、データ分析、自動化など、Pythonの多くの機能はpipでインストールした外部ライブラリを使って実現します。
なぜrequirements.txtが必要なのか
チームで開発する際、全員が同じバージョンのライブラリを使っていないと、思わぬ不具合が起こります。
「自分のPCでは動くのに、他の人のPCでは動かない」という状態は、多くの場合ライブラリのバージョン違いが原因です。requirements.txtは、そのプロジェクトで使うライブラリとバージョンを一覧にしたファイルです。
このファイルを共有すれば、誰でも同じ環境を簡単に再現できます。
pipの基本的な使い方
手順1:ライブラリをインストールする
仮想環境を有効化した状態で、以下のコマンドを実行します。
pip install requests
バージョンを指定してインストールすることもできます。
pip install requests==2.31.0
手順2:インストール済みのライブラリを確認する
現在の環境にインストールされているライブラリの一覧は、以下で確認できます。
pip list
手順3:requirements.txtを生成する
インストールしたライブラリの一覧を、ファイルとして書き出せます。
pip freeze > requirements.txt
pip freezeは、現在の環境にインストールされているライブラリとバージョンを一覧表示するコマンドです。>(リダイレクト)を使うことで、その内容をファイルに保存できます。
生成されたrequirements.txtの中身は、以下のような形式です。
requests==2.31.0
pandas==2.2.2
python-dotenv==1.0.1
手順4:requirements.txtから一括インストールする
このファイルがあれば、-rオプションで一括インストールできます。
pip install -r requirements.txt
新しいPCや、新しく参加したメンバーでも、このコマンド1つで同じ環境を再現できます。
よくあるつまずきポイント:バージョン不一致エラー
Before:requirements.txtの内容でエラーが出た例
私が案件に途中参加した際、共有されたrequirements.txtをそのままインストールして、こんなエラーに遭遇しました。
ERROR: Could not find a version that satisfies the requirement pandas==1.5.0
(from versions: 2.0.0, 2.0.1, 2.1.0, 2.2.0, 2.2.2)
ERROR: No matching distribution found for pandas==1.5.0
原因を調べると、使っていたPythonのバージョンが新しすぎて、古いpandasが対応していないことが分かりました。
Pythonのバージョンと、ライブラリが対応しているバージョンの組み合わせは、意外とずれやすいポイントです。
After:Pythonのバージョンを合わせて解決
# プロジェクトが前提とするPythonバージョンを確認
cat .python-version
# => 3.10.0
# pyenvで合わせる
pyenv local 3.10.0
# 仮想環境を作り直してから再インストール
python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
このように、requirements.txtだけでなく、Pythonのバージョンも合わせて共有しておくことが大切です。
プロジェクトのREADMEに、想定しているPythonのバージョンを明記しておくと、こうしたトラブルを防げます。
まとめ
この記事のポイント
- pipはPythonのライブラリをインストール・管理するための標準ツールである
pip freeze > requirements.txtで、現在の環境のライブラリ一覧をファイル化できるpip install -r requirements.txtで、同じ環境を誰でも再現できる- ライブラリのバージョンだけでなく、Pythonのバージョンも合わせて共有する
次に読むべき記事
環境構築の基本を押さえたら、次は実際にコードを書くエディタを整えましょう。
「VSCodeでPython開発環境を整える」で詳しく解説しています。
タグ: Python, 初心者向け, 環境構築