Python
api
Python3
dotenv
.env

【GitHub】に載せたくない環境変数の書き方 Python

More than 1 year has passed since last update.


概要

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の使い方は他のサイトを参照してください


環境変数の記入方法


.env

API_KEY=XXXXXXXXX


環境変数を.envというファイル名で記入する.

また,GitHubでcloneしたときに.envのテンプレートを知るために,

.env.sampleというものを用意しておくと良い.


.env.sample

API_KEY=


当然だが,.env.sampleにはAPI keyの記入は控える.

.env.sampleはテンプレートとなるのでGitHubにpushする.


dotenvを用いた.envからのAPI keyの読み出し


settings.py

# 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する.


sample.py

# coding: UTF-8

import settings.py

API_KEY = settings.AP

## 以降ソースコード



あとがき

今回の記事はサンプルが少ないので,実際に筆者が作った

Twitterのつぶやきが出来るソースコードを貼っておく.

https://github.com/CrowCrowzard/tweet


参考文献

python-dotenv