はじめに
複数の.envファイルに関しての備忘録。
🦁結論🦁
.envファイルの名前を変えることで、異なる環境(開発、テスト、本番など)に合わせた設定を用意し、管理をしやすくすることができる。
自身の環境で使うもの
テスト環境で使う APIキーを保管してるもの
複数のアカウントを保管
など様々な利用用途に合わせて大事なファイルを保管しておいておける。
押さえておくべき点
- envファイルはキーと値のペアで環境変数を定義(環境変数は全て大文字)
- python-dotenvライブラリを使って.envファイルを読み込み、環境変数を設定でload_dotenv()関数にて読み込む
- 環境ごとに合わせたファイル名を付けることができる(例 .env.development、.env.test、.env.production)
- load_dotenv()関数のoverride=Trueパラメータを使って、既存の環境変数を上書きできる。
- gitignoreなどを活用して公開リポジトリには含めないようにする。
利用シーンに応じた.envファイルの例
- 環境別(本番、開発、テスト)
- アカウント情報(本番、テスト)
注意点
- GitHubなどで公開しない。
- 環境変数の衝突に注意が必要。
envファイルに入れるべきもの
- APIキー(トークン)
- アカウント情報
- URL
- デバッグモードの切り替え
コード例
from dotenv import load_dotenv
# 共通設定の読み込み
load_dotenv('.env')
# 開発環境用設定の読み込み
load_dotenv('.env.development', override=True)
# 使用例
import os
DATABASE_URL = os.getenv('DATABASE_URL')
print(f"使用するデータベースURLは{DATABASE_URL}です。")
まとめ✍️
envファイルを複数用意することで管理が格段にしやすくなる。一つの.envファイルのみを使用することが一般的だと思っていた方々に、この記事が役立てば幸いです。