[python] python-dotenv를 사용하여 오픈소스 프로젝트 설정하기
오픈소스 프로젝트를 개발하면서 주요 설정 정보들을 소스 코드에 하드코딩하는 것은 좋지 않은 실처입니다. 비밀번호, API 토큰, 데이터베이스 정보와 같은 민감한 정보들이 소스 코드에 노출될 수 있기 때문입니다. 이러한 설정 정보들을 안전하고 편리하게 관리하기 위해 python-dotenv라는 유용한 라이브러리를 소개하겠습니다.
python-dotenv란?
python-dotenv는 파이썬 프로젝트에서 환경 변수로 설정된 정보들을 로드하는 데 사용되는 라이브러리입니다. .env
파일에 설정 정보를 작성하고, 이를 프로젝트 내에서 손쉽게 사용할 수 있도록 도와줍니다. 이를 통해 개발 환경과 배포 환경 등에서 설정 정보를 분리하여 관리할 수 있습니다.
사용법
- 먼저
python-dotenv
를 설치해야 합니다. pip를 사용하여 다음 명령을 실행하세요.
pip install python-dotenv
- 작업 디렉토리에
.env
파일을 생성하고, 설정 정보를 작성합니다. 다음은 예시입니다.
API_TOKEN=abcdefg123456
DB_HOST=localhost
DB_PORT=5432
- 프로젝트의 파이썬 코드에서 다음과 같이
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")
- 이제
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
함수를 통해 설정 정보를 로드하여 사용할 수 있습니다. 이를 통해 소스 코드에 설정 정보를 하드코딩하지 않고도 프로젝트를 보다 유연하게 관리할 수 있습니다.