[python] python-dotenv를 사용한 멀티 환경 설정 관리하기

개발을 하다보면 보통 로컬 개발, 테스트, 프로덕션 등 다양한 환경에서 애플리케이션을 실행해야 할 때가 있습니다. 이러한 많은 환경에서의 설정 관리는 번거로울 수 있습니다. 이러한 문제를 해결하기 위해 python-dotenv 패키지를 사용하면 간편하게 멀티 환경 설정 관리를 할 수 있습니다.

python-dotenv란?

python-dotenv는 파이썬 환경 변수 설정을 사용하기 쉽게 해주는 패키지입니다. .env 파일에 설정 값을 작성하고, 애플리케이션이 실행될 때 해당 파일에서 환경 변수를 로드하여 사용할 수 있습니다. 이를 통해 여러 환경에서의 설정 관리가 용이해집니다.

python-dotenv 설치하기

python-dotenv 패키지는 pip를 통해 간단하게 설치할 수 있습니다. 아래의 명령어를 사용하여 설치해주세요.

pip install python-dotenv

.env 파일 작성하기

멀티 환경 설정을 관리하기 위해 .env 파일을 작성해야 합니다. 이 파일은 애플리케이션의 루트 디렉토리에 작성되어야 합니다. 파일 확장자는 .env로 해야 합니다.

아래는 예시입니다.

# 로컬 환경 설정
DB_HOST=localhost
DB_PORT=5432
DB_NAME=my_database
DB_USER=admin
DB_PASSWORD=password123

# 테스트 환경 설정
#DB_HOST=testhost
#DB_PORT=5433
#DB_NAME=test_database
#DB_USER=test_admin
#DB_PASSWORD=test_password

기본적인 환경 변수 정보를 작성한 후, 필요한 경우 주석을 추가하여 여러 환경 설정을 작성할 수 있습니다.

코드에서 환경 변수 사용하기

이제 .env 파일에 작성한 환경 변수를 코드에서 사용해 보겠습니다. 먼저, python-dotenv 패키지를 임포트해야 합니다.

from dotenv import load_dotenv

그리고 애플리케이션 시작 부분에서 .env 파일을 로드해야 합니다.

load_dotenv()

이제 환경 변수를 사용할 수 있습니다. 예를 들어, DB_HOST 환경 변수를 사용하려면 다음과 같이 작성하면 됩니다.

import os

db_host = os.getenv("DB_HOST")

결론

python-dotenv를 사용하면 멀티 환경 설정을 편리하게 관리할 수 있습니다. .env 파일에 각 환경에서 필요한 설정을 작성하고, python-dotenv를 이용하여 코드에서 간편하게 환경 변수를 사용할 수 있습니다. 이를 통해 애플리케이션 개발과 배포 과정에서의 설정 관리가 수월해집니다.

참고 문서: python-dotenv 공식 문서