Pythonでは、環境変数を定義することができます。
環境変数はプログラムを動作させるために必要な設定値で、環境変数を定義することで、ソースコードを変更不要で、設定値を変更することができるようになります。
やすひら
環境変数の定義について紹介します
この記事でわかること
- 環境変数とは
- 環境変数の定義方法
目次
環境変数とは
環境変数とは、プログラムが動作に必要な設定値のことです。
環境変数は、システム全体や特定のアプリケーションで利用することができます。
データベースの接続情報やAPIキーは、機密性が高いため、ソースコードに記述するとセキュリティ上の危険が伴いますので、環境変数で定義することが重要です。
サーバーの動作モード(開発環境、テスト環境、本番環境など)を環境変数として設定することで、アプリケーションのモード設定をソースコードを変更せずに挙動を制御することができ、利便性を向上させることができます。
環境変数の定義方法
環境変数の定義方法を紹介します。
ソースコードに環境変数を定義する
os.environを用いて、環境変数を定義します。
ソースコード
import os
os.environ['API_KEY'] = 'XXXXXXXXXXXXXXXXXXXXXXXXXXXX'
api_key = os.getenv('API_KEY')
print(api_key)
コマンド実行例
$ python3 -B python-environ.py
XXXXXXXXXXXXXXXXXXXXXXXXXXXX
外部ファイルに環境変数を定義する
dotenvを用いて、外部ファイルに環境変数を定義します。
dotenvを利用するには、ライブラリをインストールする必要があります。
コマンドライン
pip install python-dotenv
環境変数 設定ファイル
API_KEY=XXXXXXXXXXXXXXXXXXXXXXXXXXXX
ソースコード
from dotenv import load_dotenv
import os
# .envファイルを読み込む
load_dotenv()
api_key = os.getenv('API_KEY')
print(f'API_KEY: {api_key}')
コマンド実行例
$ python3 -B python-dotenv.py
API_KEY: XXXXXXXXXXXXXXXXXXXXXXXXXXXX
まとめ
Pythonの環境変数を定義について紹介しました。
Pythonの環境変数の定義は
- os.environでソースコードに定義できる
- dotenvライブラリで外部ファイルに定義できる
環境変数を定義することで、ソースコードを変更することなく柔軟に設定値を変更することができます。
機密性が高い設定値をソースコードに記述するのは、セキュリティ観点で望ましくないため、環境変数を利用することを推奨します。