.envのメモです。
目次
.envとはなにか
環境変数を保存するために使用されるファイル形式です。
APIキーやDB接続情報やユーザ名やパスワードなど 他の人には知られたくない情報 を記載しておくのに使います。
.envの形式と記述ルール
形式
.env
# ここはコメント DB_HOST=localhost DB_USER=yourname DB_PASS=p@ssw0rd
- 各行は環境変数を表し、
=
の左側が変数名
、右側がその値
です。
記述ルール
- .envファイルは通常、プロジェクトのルート直下に配置します。
- 空行は無視されます。
#
より後ろはコメントとなります。- 値にスペースを含んでいてもクォーテーションで囲む必要はありません(例:KEY1=AAA BBB CCC)。
- シングルクォートやダブルクォートで囲んでもよいです。
- 値の記載を省略した場合は空文字になります(例: KEY1= とすると、{ KEY1: '' } になる)
- キーや値の前後の空白は削除されます。
- 削除したくない場合は、シングルクォートかダブルクォートで値を囲む必要があります(例: KEY1=' AAA ')
- エンコーディング形式は utf8 で保存します。
.env.example
一般的に、.env
ファイルはリポジトリには含めません。そのままコミットしてしまったら、情報漏えいに繋がってしまいます。
代わりに.env.example
のようなファイルを作成して、必要な環境変数のテンプレートを提供しておきます。
.env.example
# ここはコメント DB_HOST= DB_USER= DB_PASS=
- こんな感じで、値を空白にした状態でファイルを作成します。
- リポジトリにコミットして公開するのは、こちらの
.env.example
だけにしましょう。
.envを除外設定する
Gitを使っている場合、以下のような無視設定をしておくとよいです。
.gitignore
.env
.envを読み込む
さまざまな言語で.envファイルを読み込むことができます。
ここではPythonで読み込む例を示します。
Pythonでの使用例
Pythonでは.envファイルを読み込むのにpython-dotenv
というパッケージを使います。
まず、pipでインストールしましょう。
pip install python-dotenv
以下、.envファイルを読み込むサンプルコードです。
.envファイルを読み込むサンプルコード
from dotenv import load_dotenv import os # .envファイルをロードします load_dotenv() # 環境変数を取得します db_host = os.getenv('DB_HOST') db_user = os.getenv('DB_USER') db_pass = os.getenv('DB_PASS') print(db_host, db_user, db_pass)
load_dotenv()
はプロジェクトのルート直下に.env
ファイルが置かれている前提で動きます。- 仮に、envディレクトリを作って、その中に
.env
ファイルを配置した場合、# .envファイルのパスを指定してロードします load_dotenv('env/.env')
他の言語でも.env
ファイルを読み込むためのライブラリが用意されていると思いますので、探してみて下さい。