Module_dotenv

Weed·2024년 12월 30일
0

파이썬 모듈

목록 보기
2/3

dotenv

1️⃣ Python dotenv란?

  • Python의 dotenv는 환경 변수 관리를 쉽게 해주는 라이브러리이다.
  • 개발 시 민감한 정보(예: API 키, 데이터베이스 비밀번호)를 코드에 직접 적으면 보안 문제 발생 가능하다.
  • dotenv를 사용하면 이런 정보들을 .env 파일에 따로 저장하고, Python 코드에서 가져올 수 있다.

2️⃣ 사용 목적

  • 보안: 중요한 정보를 코드에 직접 작성할 필요 없다.
  • 관리 편리성: 환경 변수들을 파일로 한 곳에 정리하여, 필요할 때 쉽게 수정하거나 추가할 수 있다.
  • 배포 효율성: 타 개발자나 서버에서 .env 파일만 추가하면 환경 설정이 동일하게 적용 된다.

3️⃣ 주요 기능

dotenv.env 파일에 저장된 값을 Python의 환경 변수로 쉽게 로드하고 사용할 수 있도록 한다.

1. .env 파일 작성

  • .env 파일은 간단한 Key=Value 형식으로 작성된다.
  • 예제
API_KEY=your_api_key_here
DB_HOST=localhost
DB_USER=admin
DB_PASSWORD=secure_password

2. 환경 변수 로드

  • Python에서 dotenv를 사용해 .env 파일의 값을 불러온다.
  • 예제
from dotenv import load_dotenv
import os

# .env 파일 로드
load_dotenv()

# 환경 변수 가져오기
api_key = os.getenv("API_KEY")
db_host = os.getenv("DB_HOST")

print(f"API Key: {api_key}")
print(f"DB Host: {db_host}")

3. 환경 변수 설정

  • 환경 변수를 코드에서 직접 설정할 수 있다.
  • 예제
from dotenv import set_key, load_dotenv
import os

# .env 파일 경로 지정
dotenv_path = ".env"

# 키-값 추가
set_key(dotenv_path, "NEW_KEY", "new_value")

# 확인
load_dotenv()
print(os.getenv("NEW_KEY"))  # 출력: new_value

4️⃣ 사용 예시

1. API 키 관리

API 키를 .env 파일에 저장 후, 코드에서 안전하게 사용

# .env 파일
API_KEY=your_api_key_here

from dotenv import load_dotenv
import os

load_dotenv()
api_key = os.getenv("API_KEY")
print(f"사용할 API 키: {api_key}")

2. 다양한 환경 구성

개발 환경과 운영 환경을 쉽게 관리할 수 있다.

# .env.dev
DEBUG=True
DB_NAME=dev_database

# .env.prod
DEBUG=False
DB_NAME=prod_database

import os
from dotenv import load_dotenv

# 환경에 맞는 .env 파일 로드
env_file = ".env.dev" if os.getenv("ENV") == "development" else ".env.prod"
load_dotenv(env_file)

# 환경 변수 사용
print(os.getenv("DB_NAME"))

5️⃣ 주의할 점

  • .env 파일은 민감한 정보를 담고 있어 Git (버전관리)에 포함시키면 안된다.
    • .gitignore 파일에 .env를 추가한다.
    .env
  • 환경 변수는 문자열로 저장되어, 숫자나 불리언 값을 사용 시 변환이 필요하다.
debug = os.getenv("DEBUG") == "True"  # 문자열 "True"를 불리언 True로 변환
profile
개발자로 전직해보자

0개의 댓글