728x90
728x90

환경 변수 파일(.env) 다루는 방법

들어가며

  • 파이썬(Python)에서 @.env@ 파일을 다루는 방법을 정리해본다.

 

.env 파일

개념

  • 키(Key)-값(Value) 쌍으로 환경 변수를 정의하는 간단한 텍스트 파일
  • 이 파일을 사용하면 코드 내에 민감한 정보를 직접 작성하지 않고도 환경 변수(Environment Variable)를 쉽게 관리할 수 있다.
  • @.env@ 파일을 사용하면 환경 변수를 효율적으로 관리할 수 있으며, 코드의 보안성과 유지보수성을 향상시킬 수 있다.
API_KEY=your_api_key_here
DATABASE_URL=postgres://user:password@localhost:5432/mydatabase
DEBUG=True

 

방법

패키지 설치하기

  • @python-dotenv@ 패키지가 설치되어 있지 않을 경우 설치해준다.
$ pip install python-dotenv

 

프로젝트 루트 디렉터리에 @.env@ 파일 생성하기

  • 프로젝트 루트 디렉토리에 @.env@ 파일을 생성한다.
  • 그리고 필요한 환경 변수를 정의한다.
SECRET_KEY=supersecretkey123
DATABASE_URL=postgres://user:password@localhost:5432/mydatabase
DEBUG=True

 

파이썬 코드에서 @.env@ 파일 불러오기

  • @python-dotenv@를 사용하여 @.env@ 파일의 환경 변수를 불러올 수 있다.
  • 일반적으로 애플리케이션의 진입점에서 불러온다.

 

main.py
  • @load_dotenv()@를 우선 실행한 후, @os.getenv()@를 통해 @.env@ 파일의 키 값에 접근할 수 있다.
import os
from dotenv import load_dotenv

# .env 파일 불러오기
load_dotenv()

# 환경 변수 접근하기
secret_key = os.getenv('SECRET_KEY')
database_url = os.getenv('DATABASE_URL')
debug_mode = os.getenv('DEBUG')

print(f"Secret Key: {secret_key}")
print(f"Database URL: {database_url}")
print(f"Debug Mode: {debug_mode}")

 

환경 변수 접근 방법

  • 다양한 방법으로 @.env@ 파일의 환경 변수에 접근할 수 있다.

 

@os.getenv()@ 사용하기

import os

api_key = os.getenv('API_KEY')

 

 

@os.environ()@ 사용하기

import os

api_key = os.environ['API_KEY']     # 키가 없으면 KeyError 발생

 

타입 변환

  • 환경 변수는 기본적으로 문자열(String)로 불러와지므로, 필요에 따라 타입을 변환해야 한다.
debug_mode = os.getenv('DEBUG') == 'True'    # String 형 -> Boolean 형

 

보안 고려하기

  • @.gitignore 파일@에 @.env@를 추가하여 소스 코드 관리 시스템에 포함되지 않도록 한다.

 

.gitignore
# ...

.env

# ...

 

728x90
728x90