[python] python-dotenv와 로컬 개발 환경 설정 자동화 도구의 연동

로컬 개발 환경에서 프로젝트를 실행할 때, 환경 변수를 설정해야 하는 경우가 많습니다. 예를 들어 데이터베이스 비밀번호, API 키, 혹은 다른 외부 서비스의 연결 정보 등입니다. 이러한 환경 변수를 매번 수동으로 설정하는 것은 번거로운 작업이며, 실수할 가능성도 높습니다.

이러한 문제를 해결하기 위해 python-dotenv라는 라이브러리를 사용해보겠습니다. python-dotenv.env 파일을 사용하여 환경 변수를 설정할 수 있도록 도와주는 도구입니다. 이번 포스트에서는 python-dotenv와 함께 많이 사용되는 로컬 개발 환경 설정 자동화 도구와의 연동 방법에 대해 알아보겠습니다.

1. python-dotenv 설치

우선 python-dotenv를 설치해야 합니다. 아래 명령을 사용하여 설치할 수 있습니다.

pip install python-dotenv

2. .env 파일 생성

프로젝트의 루트 디렉토리에 .env 파일을 생성합니다. 이 파일에 환경 변수를 설정할 것입니다. 예를 들어, 데이터베이스 비밀번호를 DATABASE_PASSWORD=secretpassword로 설정하고 싶다면, .env 파일에 아래와 같이 작성합니다.

DATABASE_PASSWORD=secretpassword

.env 파일에는 여러개의 환경 변수를 설정할 수도 있습니다.

3. 자동화 도구와의 연동

python-dotenv는 여러 가지 자동화 도구와 함께 사용될 수 있습니다. 아래는 몇 가지 자주 사용되는 자동화 도구와의 연동 방법을 간단하게 설명합니다.

Flask

Python 웹 프레임워크인 Flask에서 python-dotenv를 사용하는 방법은 간단합니다. Flask의 기본 설정 파일인 app.py에 아래 코드를 추가합니다.

from dotenv import load_dotenv

load_dotenv()

# 플라스크 앱 실행 코드

위 코드는 Flask 앱을 실행하기 전에 .env 파일에 있는 환경 변수들을 로드합니다. 이후에는 os.environ과 같은 방법으로 환경 변수를 사용할 수 있습니다.

Django

Django에서도 마찬가지로 python-dotenv를 사용할 수 있습니다. 프로젝트의 settings.py 파일에 아래 코드를 추가합니다.

from dotenv import load_dotenv

load_dotenv()

# Django 설정 코드

위 코드는 Django 앱을 실행하기 전에 .env 파일에 있는 환경 변수들을 로드합니다. 이후에는 os.environ과 같은 방법으로 환경 변수를 사용할 수 있습니다.

Docker

Docker를 사용하여 애플리케이션을 컨테이너화하는 경우에도 python-dotenv를 사용할 수 있습니다. Dockerfile에 아래 코드를 추가하여 .env 파일을 이미지에 복사합니다.

COPY .env /app/.env

이후에는 컨테이너 내에서 .env 파일을 로드하여 환경 변수를 사용할 수 있습니다.

마치며

이번 포스트에서는 python-dotenv를 사용하여 로컬 개발 환경 설정을 자동화하는 방법에 대해 알아보았습니다. python-dotenv는 다양한 자동화 도구와 함께 사용할 수 있어 편리하게 환경 변수를 설정할 수 있습니다. 이를 통해 로컬 개발 환경에서 더욱 효율적이고 안정적인 개발을 할 수 있습니다.