Pythonのrequirements.txtとは?インストール・生成方法

how-to-requirements-txt Python
この記事は約5分で読めます。
スポンサーリンク

本記事では、Pythonにおいて、requirements.txtを使用して依存関係を管理する方法をご紹介します。特に、requirements.txtとは何であるかやその目的、また、実際の開発でpip installでインストールしたりpip freezerequirements.txtを生成したりする方法について解説していきます。

  • requirements.txtとは何であるか知りたい
  • requirements.txtから依存関係をインストールしたり、生成したりしたい
本記事で実装する処理
Pythonのrequirements.txtとは?インストール・生成方法

結論: Pythonにおけるrequirements.txtとは?インストールと生成方法

requirements.txtとは?

requirements.txtとは、Pythonプロジェクトにおいて外部ライブラリやパッケージのバージョン情報を含むテキストファイルです。このファイルを使うことで、現在のプロジェクトの依存関係を定義し、他のプロジェクトや他の開発者と同じ環境を使用できるようになります。

requirements.txtからパッケージをインストールする方法

requirements.txtが含まれている環境で、以下のコマンドを実行することで、現在の開発環境においてrequirements.txtで指定されたパッケージ・ライブラリをインストールできます。

pip install -r requirements.txt
requirementxt.txtを生成して現在の環境を保存する方法

既存のPython環境にインストールされているパッケージの一覧を取得し、requirements.txtを生成するには下記のコマンドを実行します。

pip freeze > requirements.txt

requirements.txtとは?

requirements.txtは、Pythonプロジェクトにおける依存関係の管理を行うためのファイルで、プロジェクトで必要とされる外部ライブラリやパッケージとそのバージョンをリスト化します。このファイルを利用することで、プロジェクトがどのパッケージに依存しているかを明確にし、他の開発者や環境で正確に同じ設定を再現することが可能になります。また、このファイルは通常、仮想環境化と同時に使用され、プロジェクトのルートディレクトリに配置されます。

requirements.txtの使用例
requirements.txtの使用例

requirements.txtを使用するメリット

requirements.txtを使用して依存関係を明確化することには下記のようなメリットがあります。

  1. 再現性の向上: requirements.txtを用いることで、どの環境でも同じバージョンのパッケージを簡単にインストールできるため、プロジェクトの挙動が一貫して再現可能になります。
  2. コラボレーションの助長: 新しい開発者がプロジェクトに参加する際、requirements.txtから必要なパッケージを一括でインストールすることで、すぐに開発を始めることができます。
  3. 環境管理の簡素化: 仮想環境と組み合わせることで、プロジェクトごとに異なる依存関係を持たせることができ、プロジェクト間の依存関係の衝突を避けることができます。

requirements.txtの表記

requirements.txt内で使用される表記は==が多いですが、様々な方法でパッケージのバージョンを指定することができます。ここではpandasを例にそれらを紹介します。

  • pandas==2.2.2 (等号): これはv2.2.2のpandasを使用することを示しています
  • pandas>=2.0.0 (不等号): これはv.2.0.0以上のpandasを使用することを示しています。基本的には最新のバージョンを使用することが想定されています。同様に等号なしや<などを使用することができます
  • pandas>=1.1.0, <=1.3.0 (範囲指定): カンマ区切りで条件を指定することで範囲指定をすることも可能です
  • pandas~=2.1.0 (互換性の保証): これは>=2.1.0, ==2.1.*と同じ意味をもち、指定したバージョン以上かつ互換性があることをrequirements.txtのチルダによる表記で保証しています。詳しくは互換性のあるリリースをご確認ください

以上がrequiremts.txtとは何であるか、など概要の説明となります。

requirements.txtからパッケージをインストールする方法 (pip install)

次に、requirements.txtに指定されたパッケージやライブラリをpipインストールする方法をご紹介します。プロジェクトのルートディレクトリ (requirements.txtが存在する階層) で下記のコマンドを実行します。

pip install -r requirements.txt
requirements.txtからパッケージをインストールする方法 (pip install)

このコマンドは通常のpip install-rでrequirementオプションを記載したものです。つまり、requirements.txtに応じてパッケージやライブラリをインストールするように指定しています。

-r–requirement <file>: 指定された要件ファイルからインストールします。このオプションは複数回使用できます。

pip install – pip ドキュメント

requirementxt.txtを生成して現在の環境を保存する方法 (pip freeze)

次に、現在のPython実行環境の依存関係をrequirements.txtに出力・生成する方法をご紹介します。プロジェクトのルートディレクトリにて下記のコマンドを実行してください。

pip freeze > requirements.txt

このコマンドでは、pip freezeを使用して現在の依存関係を表示した後に、出力結果をrequirements.txtに書き込んでいます。ここで使用している>とは、「リダイレクト」処理を実行するためのものであり、通常ターミナルに出力している結果を指定したファイルとして生成することを意味します。

pip freezeはインストールされているパッケージを要件形式で出力します。パッケージは、大文字と小文字を区別しないソート順でリストされます。

pip freeze – pip ドキュメント

おわりに

以上が、Pythonのrequirements.txtとは何であるかという概要や、そのインストール・生成方法に関する説明となります。

ご質問やご不明点がある場合はお気軽にコメントお待ちしております。

ご精読いただきありがとうございました。

コメント

タイトルとURLをコピーしました