로컬 개발 환경에서 프로젝트를 실행할 때, 환경 변수를 설정해야 하는 경우가 많습니다. 예를 들어 데이터베이스 비밀번호, 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
는 다양한 자동화 도구와 함께 사용할 수 있어 편리하게 환경 변수를 설정할 수 있습니다. 이를 통해 로컬 개발 환경에서 더욱 효율적이고 안정적인 개발을 할 수 있습니다.