[python] python-dotenv를 사용하여 오픈소스 프로젝트 설정하기

오픈소스 프로젝트를 개발하면서 주요 설정 정보들을 소스 코드에 하드코딩하는 것은 좋지 않은 실처입니다. 비밀번호, API 토큰, 데이터베이스 정보와 같은 민감한 정보들이 소스 코드에 노출될 수 있기 때문입니다. 이러한 설정 정보들을 안전하고 편리하게 관리하기 위해 python-dotenv라는 유용한 라이브러리를 소개하겠습니다.

python-dotenv란?

python-dotenv는 파이썬 프로젝트에서 환경 변수로 설정된 정보들을 로드하는 데 사용되는 라이브러리입니다. .env 파일에 설정 정보를 작성하고, 이를 프로젝트 내에서 손쉽게 사용할 수 있도록 도와줍니다. 이를 통해 개발 환경과 배포 환경 등에서 설정 정보를 분리하여 관리할 수 있습니다.

사용법

  1. 먼저 python-dotenv를 설치해야 합니다. pip를 사용하여 다음 명령을 실행하세요.
pip install python-dotenv
  1. 작업 디렉토리에 .env 파일을 생성하고, 설정 정보를 작성합니다. 다음은 예시입니다.
API_TOKEN=abcdefg123456
DB_HOST=localhost
DB_PORT=5432
  1. 프로젝트의 파이썬 코드에서 다음과 같이 dotenv 모듈을 import하고, 설정 정보를 로드합니다.
import os
from dotenv import load_dotenv

load_dotenv()

api_token = os.getenv("API_TOKEN")
db_host = os.getenv("DB_HOST")
db_port = os.getenv("DB_PORT")
  1. 이제 api_token, db_host, db_port와 같은 변수를 사용하여 설정 정보에 접근할 수 있습니다. 예를 들어, 다음과 같이 API 요청을 보내는 코드를 작성할 수 있습니다.
import requests

url = "https://api.example.com"
headers = {
    "Authorization": f"Bearer {api_token}"
}

response = requests.get(url, headers=headers)

요약

python-dotenv는 오픈소스 프로젝트에서 민감한 설정 정보를 안전하고 편리하게 관리하기 위한 도구입니다. .env 파일에 설정 정보를 작성하고, os.getenv 함수를 통해 설정 정보를 로드하여 사용할 수 있습니다. 이를 통해 소스 코드에 설정 정보를 하드코딩하지 않고도 프로젝트를 보다 유연하게 관리할 수 있습니다.

참고: python-dotenv 공식 문서