개발을 하다보면 보통 로컬 개발, 테스트, 프로덕션 등 다양한 환경에서 애플리케이션을 실행해야 할 때가 있습니다. 이러한 많은 환경에서의 설정 관리는 번거로울 수 있습니다. 이러한 문제를 해결하기 위해 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 공식 문서