[python] python-dotenv를 사용하여 로컬 개발 서버 설정하기

로컬 개발 서버를 설정할 때는 보통 환경에 따라 다른 설정값을 사용해야 합니다. 이러한 설정값을 소스 코드에 하드코딩하는 것은 번거롭고, 보안상의 이유로 좋지 않은 방법입니다. python-dotenv를 사용하면 소스 코드에서 환경변수를 편리하게 사용할 수 있습니다.

python-dotenv란?

python-dotenv는 파이썬 프로젝트에서 .env 파일을 읽고, 해당 파일에 정의된 환경변수를 로드하는 패키지입니다. .env 파일은 설정값을 저장하는데 사용되며, 소스 코드에서 환경변수를 사용할 때 참조됩니다.

설치하기

python-dotenv를 설치하기 위해서는 pip를 사용합니다.

pip install python-dotenv

.env 파일 작성하기

로컬 개발 서버에서 사용할 환경변수를 정의하는 .env 파일을 작성해야 합니다. 아래와 같이 .env 파일을 만들어보겠습니다.

DB_HOST=localhost
DB_PORT=5432
DB_NAME=mydatabase
DB_USER=myusername
DB_PASSWORD=mypassword

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

python-dotenv를 사용하여 로컬 개발 서버를 설정하기 위해서는 우선 .env 파일을 로드해야 합니다. 이후 환경변수를 사용하여 필요한 설정 값을 가져올 수 있습니다.

from dotenv import load_dotenv
import os

# .env 파일 로드
load_dotenv()

# 환경변수 사용
db_host = os.getenv('DB_HOST')
db_port = os.getenv('DB_PORT')
db_name = os.getenv('DB_NAME')
db_user = os.getenv('DB_USER')
db_password = os.getenv('DB_PASSWORD')

# 로컬 개발 서버 설정
# ...

위의 예시에서는 load_dotenv() 함수를 사용하여 .env 파일을 로드한 뒤, os.getenv() 함수를 사용하여 각각의 환경변수를 가져왔습니다. 이제 애플리케이션 코드에서 각각의 환경변수를 사용하여 로컬 개발 서버를 설정할 수 있습니다.

결론

python-dotenv를 사용하면 소스 코드에 설정값을 하드코딩하는 것 대신 환경변수를 사용하여 로컬 개발 서버를 설정할 수 있습니다. 이를 통해 보안성을 강화하고, 환경에 맞는 설정값을 유연하게 사용할 수 있습니다.

참고 문서