[python] python-dotenv를 사용한 환경 변수 가시성 관리하기

개요

애플리케이션을 개발할 때 중요한 정보인 환경 변수는 소스 코드에서 분리하여 관리하는 것이 좋습니다. python-dotenv 라이브러리는 .env 파일에 저장된 환경 변수를 로드하여 애플리케이션에서 사용할 수 있도록 도와줍니다. 이를 통해 환경 변수 값을 손쉽게 바꿀 수 있고, 보안에 대한 걱정을 덜어줍니다.

python-dotenv 설치하기

python-dotenv는 pip를 통해 간단하게 설치할 수 있습니다.

pip install python-dotenv

.env 파일 생성하기

애플리케이션의 환경 변수를 저장할 .env 파일을 생성합니다. 이 파일은 애플리케이션의 루트 디렉토리에 위치해야 합니다.

API_KEY=your-api-key
DATABASE_URL=your-database-url

환경 변수 로드하기

python-dotenv를 사용하여 .env 파일에 저장된 환경 변수를 로드할 수 있습니다. 애플리케이션의 엔트리 포인트에서 다음과 같이 추가합니다.

import os
from dotenv import load_dotenv

load_dotenv()  # .env 파일 로드

# 환경 변수 사용 예시
api_key = os.getenv("API_KEY")
database_url = os.getenv("DATABASE_URL")

print(api_key)
print(database_url)

위 예제에서 load_dotenv() 함수를 이용해 .env 파일을 로드한 후 os.getenv() 함수를 통해 환경 변수 값을 가져올 수 있습니다.

.env 파일의 가시성 관리하기

.env 파일에 저장되는 환경 변수는 보안 상의 이유로 노출되면 안됩니다. 따라서 .env 파일을 저장소에 포함시키지 않아야 합니다. 대신 .env.example과 같은 파일을 저장소에 포함시켜 개발자들이 참고할 수 있도록 합니다. 이 파일에는 환경 변수의 예시와 설명을 기록하여 애플리케이션 코드를 더욱 이해하기 쉽게 만들어줍니다.

참고 자료

위에서 설명한 방법을 통해 python-dotenv를 사용하여 환경 변수를 손쉽게 관리할 수 있습니다. 개발 환경과 프로덕션 환경에서 서로 다른 환경 변수를 사용해야 하는 경우에도 유용하게 사용할 수 있습니다.