.env
ファイルの使い方と説明(Python)
.envファイルとは?
.env
ファイルは、環境変数を定義するためのファイルです。
アプリケーションの設定情報(APIキー、データベースの接続情報など)をコードに直接書かず、.env
に保存することでセキュリティや管理の利便性を向上できます。
.envファイルの基本構造
.env
ファイルは通常、プロジェクトのルートディレクトリに配置し、以下のようにキーと値を KEY=VALUE
の形式で記述します。
# 環境変数の定義
DATABASE_URL=mysql://user:password@localhost:3306/dbname
SECRET_KEY=your_secret_key
DEBUG=True
.env
ファイルは.gitignore
に追加し、GitHub などのリポジトリにアップロードしないようにしましょう。
Pythonで.envファイルを使う方法
Pythonで.env
ファイルの内容を読み込むには、dotenv
ライブラリ(python-dotenv
)を使用します。
1. 必要なライブラリをインストール
まず、python-dotenv
をインストールします。
pip install python-dotenv
2. .env
ファイルを読み込む
dotenv
を使って .env
ファイルの環境変数をロードし、Python の os.environ
から値を取得できます。
import os
from dotenv import load_dotenv
# .envファイルの内容を読み込む
load_dotenv()
# 環境変数を取得
database_url = os.getenv("DATABASE_URL")
secret_key = os.getenv("SECRET_KEY")
debug_mode = os.getenv("DEBUG")
# 結果を表示
print(f"Database URL: {database_url}")
print(f"Secret Key: {secret_key}")
print(f"Debug Mode: {debug_mode}")
補足
環境変数のデフォルト値を設定
.env
に値がない場合、デフォルト値を設定することもできます。
secret_key = os.getenv("SECRET_KEY", "default_secret")
上記のようにすると、SECRET_KEY
が .env
に定義されていない場合 "default_secret"
を使います。
なぜ.envファイルを使うのか?
メリット
✅ セキュリティ向上
・APIキーやパスワードを直接コードに書かずに済む。
・誤ってリモートリポジトリ(GitHubなど)にプライベート情報をアップロードするのを防げる。
✅ 環境ごとの設定を簡単に切り替え可能
・ローカル環境、本番環境で異なる設定を使用できる。
・.env
の内容を変更するだけで、アプリの動作を調整できる。
✅ 設定情報の管理が楽になる
・複数の開発者が関わる場合でも、.env.example
などのサンプルを用意すれば、簡単に環境設定を共有できる。
まとめ
-
.env
ファイルに環境変数を定義する。 -
python-dotenv
をインストールする (pip install python-dotenv
)。 -
dotenv.load_dotenv()
で.env
をロードし、os.getenv()
で値を取得する。 -
.env
ファイルは.gitignore
に追加し、Gitにアップロードしないようにする。
この方法を使うことで、安全かつ便利に環境変数を管理できます!