以前、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 #以下本番環境に必要なもの
大変参考になりました。