概要
Railsでは外部に見せたくない環境変数の記載は多くあるが,
Pythonは少ないのでPythonにおける環境変数の記載方法を記載する.
dotenvとは
・環境変数(API keyなど)を見せずにGitHubにアップロードする方法
・テンプレートを指定でき,API keyを入れ込めばすぐ使える
Pythonでのdotenv
Pythonのdotenvは,python-dotenvと少し名前が違っている.
https://github.com/theskumar/python-dotenv
実際の使用方法例
Install
$ pip install python-dotenv
pip installの使い方は他のサイトを参照してください
環境変数の記入方法
API_KEY = "XXXXXXXXX"
環境変数を**.envというファイル名で記入する.
この.envファイルにはAPI KEYの情報が入っているので.gitignore**の対象にする
また,GitHubでcloneしたときに.envのテンプレートを知るために,
.env.sampleというものを用意しておくと良い.
.env.sampleを参考にし
API_KEY = "<API_KEY>"
当然だが,.env.sampleにはAPI keyの記入は控える.
.env.sampleはテンプレートとなるのでGitHubにpushする.
dotenvを用いた.envからのAPI keyの読み出し
# coding: UTF-8
import os
from os.path import join, dirname
from dotenv import load_dotenv
dotenv_path = join(dirname(__file__), '.env')
load_dotenv(dotenv_path)
AP = os.environ.get("API_KEY") # 環境変数の値をAPに代入
環境変数を使用する
settings.pyに環境変数の値を代入した変数APがあるので,settings.pyをimportする.
# coding: UTF-8
import settings
API_KEY = settings.AP
## 以降ソースコード
あとがき
今回の記事はサンプルが少ないので,実際に筆者が作った
Twitterのつぶやきが出来るソースコードを貼っておく.
https://github.com/CrowCrowzard/tweet