[python] python-dotenv를 사용하여 다양한 환경 설정 파일 관리하기

환경 설정 파일은 애플리케이션의 동작에 영향을 주는 중요한 정보를 담고 있습니다. 이러한 정보는 시스템에 따라 다르게 설정될 수 있으며, 개발 환경, 테스트 환경, 운영 환경에 따라 다르게 설정되어야 합니다. 이러한 다양한 환경 설정 파일을 관리하기 위해 python-dotenv를 사용할 수 있습니다.

python-dotenv란?

python-dotenv는 Python 애플리케이션에서 .env 파일을 사용하여 환경 변수를 관리하는 라이브러리입니다. .env 파일은 텍스트 파일로서, 애플리케이션 설정에 필요한 환경 변수를 key=value 형식으로 정의합니다. 이렇게 정의된 환경 변수들은 애플리케이션에서 로드하여 사용할 수 있습니다.

python-dotenv 사용하기

python-dotenv를 사용하기 위해서는 먼저 라이브러리를 설치해야 합니다. 다음 명령어를 사용하여 설치할 수 있습니다:

pip install python-dotenv

다음으로, 환경 설정 파일을 작성해야 합니다. 프로젝트 루트 디렉토리에 .env 파일을 생성하고, 필요한 환경 변수를 정의합니다. 예를 들어, 다음과 같이 정의할 수 있습니다:

SECRET_KEY=my-secret-key
DEBUG=True
DATABASE_URL=postgresql://user:password@localhost/dbname

이제, 애플리케이션에서 python-dotenv를 사용하여 해당 환경 변수를 로드할 수 있습니다. 아래의 코드를 참고해보세요:

from dotenv import load_dotenv
import os

# .env 파일에서 환경 변수 로드
load_dotenv()

# 환경 변수 사용
secret_key = os.getenv("SECRET_KEY")
debug = os.getenv("DEBUG")
database_url = os.getenv("DATABASE_URL")

print(f"SECRET_KEY: {secret_key}")
print(f"DEBUG: {debug}")
print(f"DATABASE_URL: {database_url}")

위 코드에서 load_dotenv() 함수는 .env 파일을 로드하여 환경 변수를 설정합니다. 그리고 os.getenv() 함수를 사용하여 필요한 환경 변수를 가져올 수 있습니다.

다양한 환경 설정 파일 관리하기

python-dotenv를 사용하여 다양한 환경 설정 파일을 관리할 수 있습니다. 예를 들어, 개발 환경, 테스트 환경, 운영 환경에 따라 다른 설정 파일을 로드할 수 있습니다.

.env 파일 외에도, .dev.env, .test.env, .prod.env와 같이 파일을 생성하여 각각의 환경에 맞는 환경 변수를 설정할 수 있습니다. 그리고 애플리케이션 코드에서 load_dotenv() 함수를 호출할 때 파일의 이름을 인자로 전달하여 해당 파일을 로드할 수 있습니다.

아래의 코드는 개발 환경에서 .dev.env 파일을 로드하는 예시입니다:

load_dotenv(".dev.env")

이렇게 사용하면 개발 환경에서는 .dev.env 파일의 환경 변수가 로드되어 사용됩니다. 마찬가지로 테스트 환경에서는 .test.env 파일을, 운영 환경에서는 .prod.env 파일을 로드할 수 있습니다.

결론

python-dotenv는 .env 파일을 사용하여 애플리케이션의 환경 변수를 관리하는 간단하고 편리한 방법을 제공합니다. 이를 통해 개발, 테스트, 운영 환경에 따라 다른 환경 설정을 관리할 수 있으며, 코드를 더 유연하게 작성할 수 있습니다.

더 자세한 내용은 python-dotenv의 공식 문서를 참고하시기 바랍니다.