[python] dotenv를 사용하여 프로젝트 설정 관리하기

프로젝트를 개발하다 보면 여러 가지 환경 설정 값을 관리해야 하는 경우가 있습니다. 예를 들어, 데이터베이스 연결 정보나 API 키 등은 보안상의 이유로 코드에 직접 작성하지 않고 설정 파일에 따로 저장하는 것이 좋습니다. 이때 dotenv 패키지를 사용하면 편리하게 프로젝트 설정을 관리할 수 있습니다.

1. dotenv란?

dotenv는 프로젝트의 환경 변수를 관리하는 데 사용되는 툴입니다. 이 툴을 사용하면 프로젝트 루트 디렉토리에 .env 파일을 생성하고, 이 파일에 변수와 값을 저장하여 프로젝트에서 사용할 수 있습니다. .env 파일은 보안 관리가 필요한 설정 값들을 저장하는 데에 사용됩니다.

2. dotenv 설치하기

dotenv를 사용하기 위해서는 먼저 해당 패키지를 설치해야 합니다. 다음 명령을 사용하여 dotenv를 설치할 수 있습니다.

pip install python-dotenv

3. .env 파일 설정하기

프로젝트 루트 디렉토리에 .env 파일을 생성한 후, 다음과 같이 변수와 값을 저장할 수 있습니다.

# .env 파일 내용

DB_HOST=localhost
DB_PORT=5432
DB_USER=admin
DB_PASSWORD=123456

4. Python 코드에서 dotenv 사용하기

dotenv를 설치하고 .env 파일을 설정한 후에는 Python 코드에서 해당 설정 값을 사용할 수 있습니다. 먼저, dotenv를 import합니다.

from dotenv import load_dotenv
import os

.env 파일을 로드하여 환경 변수로 설정하기 위해 load_dotenv() 함수를 호출합니다.

load_dotenv()

이후에는 os.environ을 이용하여 .env 파일에 설정한 변수를 사용할 수 있습니다. 예를 들어, DB_HOST 환경 변수의 값을 가져오려면 다음과 같이 작성합니다.

db_host = os.environ.get("DB_HOST")
print(f"DB_HOST: {db_host}")

위의 코드를 실행하면 .env 파일에서 DB_HOST 변수를 읽어와서 값을 출력합니다. 이렇게 dotenv를 사용하면 코드에서 환경 변수를 직접 지정할 필요 없이 .env 파일에 설정한 값을 가져와서 사용할 수 있습니다.

5. 결론

dotenv를 사용하면 프로젝트에서 환경 변수를 관리하는 데 편리하게 사용할 수 있습니다. pip install python-dotenv로 dotenv를 설치한 후에는 .env 파일에 설정 값을 저장하고, Python 코드에서 os.environ을 통해 해당 설정 값을 사용할 수 있습니다. 이를 통해 코드의 보안성과 유지 보수성을 향상시킬 수 있습니다.

6. 참고 자료