
以前、Djangoのrequirements.txtを環境ごとに使い分けようとした結果、Herokuにてエラーが出てしまいました。これの良い解決方法です。
もぐもぐDjangoにて質問したところ、ベストな回答をいただけたのでメモ代わりに書いておきます。
構成
.
├── requirements.txt
└── requirements
├── base.txt
├── develop.txt
└── production.txt
requirements.txt
requirements.txtはHeroku用として、production.txtを読み込む設定を記述します。これでHerokuに「プロジェクトルートにrequirements.txtがない」と怒られることもありません。
-r requirements/production.txt
base.txt
base.txtはすべての環境で必要なものを記述します。Dajngoとかはココに記述しておきましょう。ファイル名ですがcommon.txtとbase.txtどっちがいいのかなと気になり質問したら、common.txtは複数に共通しているもの、base.txtはなにかの土台となるものを書きましょうと言われました。勉強になりました。
#すべての環境で必要なものを書く
develop.txt
develop.txtは開発環境で必要なものを記述します。テストとかで使うようなものを書いておくといいんじゃないでしょうか
-r base.txt #以下、開発環境に必要なもの
production.txt
production.txtは本番環境で必要なものを記述します。テストとかで使うものはいらないので、必要最低限持っていきたいですね。
-r base.txt #以下本番環境に必要なもの
大変参考になりました。