メインコンテンツへスキップ

📋 Python 向けの requirements.txt ファイル

requirements.txt ファイルは、Python プロジェクトで依存関係を指定・管理するための業界標準です。このガイドでは、開発環境と本番環境の一貫性を保つために requirements.txt を作成、設定、利用する方法を説明します。

requirements.txt ファイルとは?

requirements.txt ファイルは、プロジェクトが必要とするすべての外部 Python パッケージを、それぞれの特定のバージョンとともに記述します。これにより次のことが可能になります。
  • あなたとチームが同一の環境を維持できる
  • 新しい協力者が環境を正確に再現できる
  • Square Cloud への deploy が正しい依存関係で動作する

1

仮想環境を有効化する

仮想環境の中で作業することは、プロジェクトの依存関係をグローバルな Python システムから隔離しておくために不可欠です。これによりバージョンの競合を回避し、再現性を確保できます。お使いのシステムに応じて、以下のいずれかのコマンドで仮想環境を有効化します。Windows:
venv\Scripts\activate
macOS/Linux:
source venv/bin/activate
2

プロジェクトの依存関係を記述する

再現性を確保し、本番環境での非互換な更新による破損を防ぐため、常に == で正確なバージョンを指定してください。

方法 A: 手動で作成する(推奨)

プロジェクトのルートに requirements.txt ファイルを作成し、すべての外部パッケージをそのバージョンとともに記述します。
requirements.txt
discord.py==2.3.0
requests==2.31.0
python-dotenv==1.0.0

方法 B: pip freeze で自動生成する

仮想環境に依存関係をインストールした後、ファイルを自動生成できます。主な方法は 2 つあります。方法 B1: pip freeze を使う(すべてを含む)
pip freeze > requirements.txt
注意: pip freeze はグローバルにインストールされたすべてのパッケージを含みます。これにはプロジェクトに不要なパッケージが含まれる場合があります。生成後にファイルを見直し、厳密には必要でない依存関係を削除してください。
方法 B2: pipdeptree またはフィルタリング付きの pip freeze を使う(推奨)プロジェクトの依存関係「のみ」を(補助的な環境パッケージを含めずに)取得するには、次を使用します。
pip freeze --user > requirements.txt
または、よりクリーンな方法として pipdeptree をインストールします。
pip install pipdeptree
pipdeptree -p your_project > requirements.txt
代替手段: 手動でリストを確認するか、プロジェクト専用にインストールされたパッケージを確認します。
pip list | grep -i "your-package"
仮想環境(推奨)で作業している場合、環境が隔離されておりプロジェクトの依存関係のみを含むため、pip freeze は完璧に機能します。
3

依存関係を確認・検証する

テキストエディタで requirements.txt ファイルを開き、次を行います。
  1. パッケージのリストを確認する
  2. 不要な依存関係を削除する
  3. 必要に応じてバージョンを更新する
  4. 正確なバージョン(== 付き)を使っていることを確認する
4

依存関係をインストールする

記述されたすべての依存関係をインストールするには:
pip install -r requirements.txt
このコマンドは、すべての協力者と本番環境がまったく同じバージョンを使用することを保証します。
5

バージョン管理と共有

requirements.txt が準備できたら、次のことができます。
  • チームと共有する
  • バージョン管理(git)に入れる
  • 全員が同じバージョンで作業することを保証する
  • Square Cloud へのデプロイを簡素化する
プロジェクトを Square Cloud にホスティングすると、requirements.txt ファイルが自動的に検出され、ビルド中にすべての依存関係がインストールされます。

💡 ベストプラクティスとヒント:

  • 常に最新に保つ: 新しい依存関係を追加するたびに requirements.txt を定期的に見直し、更新する
  • 正確なバージョンを使う: 本番環境での予期しない問題を避けるため、>>=、バージョン指定なしではなく、常に == を使う
  • pip freeze を確認する: pip freeze を使う場合、不要な補助パッケージが含まれることがあるため、コミット前にファイルを見直す
  • バージョン管理: 依存関係の変更を追跡するため、requirements.txt を git にコミットする
  • 隔離された環境: グローバルな競合を避けるため、プロジェクトごとに 1 つの仮想環境を維持する
  • ローカルでテストする: デプロイ前に、新しい環境で pip install -r requirements.txt を使ってファイルをテストする

🚀 次のステップ

requirements.txt ファイルの設定が完了したら:
  1. Git リポジトリにコミットする。
  2. プロジェクトを Square Cloud にホスティングする。
  3. GitHub 経由での自動 deploy を設定する。
  4. プロフェッショナルな Python アプリケーションホスティングへようこそ!
適切に構成された requirements.txt ファイルは、あらゆる成功する Python アプリケーションの基盤であり、Square Cloud 上でアプリケーションが完璧に動作することを保証します。