파이썬 direnv .envrc 이용해서 설정값 관리하는법os.environ.get('KEY', None)

2020. 2. 10. 14:11프로그래밍/프로그래밍 이것저것

Problem

만약 계정 시크릿키같은 설정값을 코드에

KEY='lqz8oxxxxxxx'

이런식으로 포함시키고 깃헙 같은 버전 관리 시스템에 올리게 되면 보안상 위험하다.

 

Solution: direnv를 사용해서 .envrc 파일에 환경변수 추가

direnv의 가장 기본적인 활용법은 디렉터리(프로젝트) 별로 환경변수를 정의하는 일이다.
(direnv를 사용하는 방법은 아래 Reference의 링크에 첨부되어 있다.)
.envrc 파일에 환경변수를 정의하는 내용을 추가하면 된다.

echo 'KEY='lqz8oxxxxxxx' > .envrc

.envrc 파일

export KEY=lqz8oxxxxxxx

direnv는 .envrc를 읽어들이고 추가한 환경변수 목록을 보여준다.

 

터미널에

python3
>>> import os
>>> os.environ

을 입력해보면 새로 설정한 환경변수가 출력될 것이다.

 

이제 코드에서 설정한 키를 쓰고 싶으면

KEY = os.environ.get('NS_KEY', None)

와 같이 사용하면 된다.

 

Reference

direnv로 디렉토리(프로젝트) 별 개발환경 구축하기