[python] python-dotenv를 사용하여 개발자 별로 다른 환경 설정하기

소개

개발자들은 프로젝트를 진행할 때, 로컬 개발 환경과 별개로 개인마다 다른 환경 설정을 원할 수 있습니다. 이럴 때, 환경 변수를 이용하여 각 개발자가 자신에게 맞는 설정을 할 수 있습니다. 이번 글에서는 파이썬의 python-dotenv를 사용하여 개발자 별로 다른 환경 설정하는 방법에 대해 살펴보겠습니다.

python-dotenv란?

python-dotenv는 파이썬 라이브러리로, .env 파일에서 환경 변수를 로드하도록 도와줍니다. .env 파일은 환경 변수와 그 값들을 저장하는 텍스트 파일로, 코드에서 변수를 사용할 때마다 환경 변수 값이 포함된 .env 파일을 읽어올 수 있습니다.

설치

python-dotenv는 pip를 사용하여 설치할 수 있습니다. 아래의 명령어를 사용하세요.

pip install python-dotenv

.env 파일 작성하기

먼저 각 개발자의 환경 설정을 포함한 .env 파일을 작성해야 합니다. 예를 들어, 개발자 1과 개발자 2가 다른 데이터베이스를 사용한다고 가정해봅시다.

.env.developer1 파일

DATABASE_HOST=localhost
DATABASE_PORT=5432
DATABASE_NAME=developer1_db
DATABASE_USERNAME=developer1
DATABASE_PASSWORD=1234

.env.developer2 파일

DATABASE_HOST=localhost
DATABASE_PORT=3306
DATABASE_NAME=developer2_db
DATABASE_USERNAME=developer2
DATABASE_PASSWORD=abcd

파이썬 코드 작성하기

이제 파이썬 코드에서 python-dotenv를 사용하여 .env 파일의 환경 변수를 로드해보겠습니다.

from dotenv import load_dotenv

# 해당 개발자에 따른 .env 파일 로드
load_dotenv('.env.developer1')  # 개발자 1의 환경 설정
# 또는 load_dotenv('.env.developer2')  # 개발자 2의 환경 설정

# 환경 변수 사용 예시
# 데이터베이스 연결 설정
database_host = os.getenv('DATABASE_HOST')
database_port = os.getenv('DATABASE_PORT')
database_name = os.getenv('DATABASE_NAME')
database_username = os.getenv('DATABASE_USERNAME')
database_password = os.getenv('DATABASE_PASSWORD')

# 다른 코드에서도 환경 변수 사용 가능
# ...

위의 코드에서, load_dotenv 함수를 사용하여 .env 파일을 로드합니다. 개발자에 따라 적절한 .env 파일을 로드하고, os.getenv 함수를 사용하여 환경 변수 값을 얻어올 수 있습니다.

결론

python-dotenv는 각 개발자가 자신에게 맞는 환경 설정을 할 수 있도록 도와주는 유용한 도구입니다. .env 파일을 작성하고 python-dotenv를 사용하여 값을 로드하는 것으로 개발자 별로 다른 환경 설정을 적용할 수 있습니다.

참고 자료