要件ファイルをカスケードし、「-r」フラグを使用して、あるファイルの内容を別のファイル内に含めるようにpipに指示できます。要件を次のようなモジュラーフォルダー階層に分割できます。
`-- django_project_root
|-- requirements
| |-- common.txt
| |-- dev.txt
| `-- prod.txt
`-- requirements.txt
ファイルの内容は次のようになります。
common.txt:
# Contains requirements common to all environments
req1==1.0
req2==1.0
req3==1.0
...
dev.txt:
# Specifies only dev-specific requirements
# But imports the common ones too
-r common.txt
dev_req==1.0
...
prod.txt:
# Same for prod...
-r common.txt
prod_req==1.0
...
Herokuの外では、次のような環境をセットアップできます。
pip install -r requirements/dev.txt
または
pip install -r requirements/prod.txt
Herokuは特にプロジェクトルートで「requirements.txt」を探すため、次のようにprodをミラーリングするだけです。
requirements.txt:
# Mirrors prod
-r requirements/prod.txt