Python

【Python】第4章第9回:requirements.txtの使い方

本記事では、Pythonプロジェクトでよく使用されるrequirements.txtファイルについて解説します。このファイルを活用することで、プロジェクトの依存関係を効率的に管理できるようになります。

0. 記事の概要

この記事を読むメリット

  • requirements.txtの基本を理解:ファイルの役割と作成方法を学べます。
  • 効率的な依存管理:チーム開発やデプロイ作業がスムーズになります。
  • 再現性の向上:同じ環境を簡単に再現できるようになります。

この記事で学べること

  • requirements.txtの基本的な役割
  • ファイルの作成と使用方法
  • 依存関係管理のベストプラクティス

1. requirements.txtとは?

1.1 定義

requirements.txtは、Pythonプロジェクトが必要とするライブラリとそのバージョン情報を記録したテキストファイルです。

1.2 利用するメリット

  • プロジェクトの依存関係を一元管理できる
  • 環境の再現性が向上する
  • コマンド一つで必要なライブラリをインストール可能

2. requirements.txtの作成と使用方法

2.1 requirements.txtの作成

# 現在の環境のライブラリをrequirements.txtに出力
pip freeze > requirements.txt
動作解説
  1. pip freezeコマンドで、現在の環境にインストールされているライブラリ一覧を取得します。
  2. 出力結果をrequirements.txtに保存します。

2.2 requirements.txtの使用

# requirements.txtからライブラリをインストール
pip install -r requirements.txt
動作解説
  1. pip install -rコマンドを使用すると、ファイル内の全てのライブラリが一括インストールされます。
  2. バージョン情報も反映されるため、環境の再現性が保証されます。

3. 依存関係管理のベストプラクティス

3.1 ライブラリのバージョン固定

requirements.txtには、ライブラリのバージョンを明示的に指定することが推奨されます。例:

# バージョン固定の例
numpy==1.21.0
pandas>=1.3.0

3.2 不要なライブラリの整理

不要なライブラリを含めないように、環境を定期的に見直しましょう。

4. 練習問題

以下の課題に挑戦してみましょう。

  1. 現在の仮想環境のライブラリをrequirements.txtに出力してください。
  2. 別の仮想環境でrequirements.txtを使用して同じ環境を再現してください。

5. 練習問題の解答と解説

問1の解答例

# requirements.txtの作成
pip freeze > requirements.txt

問2の解答例

# requirements.txtからライブラリをインストール
pip install -r requirements.txt

6. まとめ

requirements.txtを使用することで、プロジェクトの依存関係を効率的に管理できます。練習問題を通じて、ファイルの作成と使用に慣れ、環境の再現性を高めましょう。