본문 바로가기

코딩과 데이터 분석

쉽게 이해하는 Python `dotenv`: 환경 변수를 관리하는 방법

Python 개발을 하다 보면 종종 환경 변수(environment variables)를 설정하고 사용하는 일이 필요합니다. 특히, API 키, 데이터베이스 연결 정보 등 민감한 정보를 코드에 직접 포함시키지 않기 위해 환경 변수를 활용합니다. 이 글에서는 Python에서 환경 변수를 쉽게 관리할 수 있게 도와주는 dotenv 라이브러리에 대해 알아보겠습니다.

목차

  1. dotenv란 무엇인가?
  2. dotenv 설치 방법
  3. .env 파일 만들기
  4. dotenv 사용 방법
  5. .env 파일의 위치와 탐색
  6. 마무리

1. dotenv란 무엇인가?

dotenv는 환경 변수를 로드하여 Python 프로젝트 내에서 사용할 수 있게 해주는 라이브러리입니다. 환경 변수는 보통 운영체제에서 관리되지만, dotenv를 사용하면 .env 파일에 환경 변수를 정의하고 이를 코드에서 쉽게 불러올 수 있습니다. 이를 통해 코드의 보안성을 높이고, 설정을 한 곳에서 관리할 수 있습니다.

2. dotenv 설치 방법

dotenv 라이브러리는 python-dotenv 패키지를 통해 제공됩니다. 다음과 같이 pip 명령어를 사용하여 설치할 수 있습니다:

pip install python-dotenv

3. .env 파일 만들기

프로젝트의 루트 디렉터리에 .env 파일을 생성하고, 여기에 환경 변수를 정의합니다. 예를 들어, 다음과 같이 API 키와 데이터베이스 URL을 .env 파일에 저장할 수 있습니다:

API_KEY=your_api_key_here
DATABASE_URL=your_database_url_here

4. dotenv 사용 방법

이제 Python 코드에서 dotenv를 사용하여 .env 파일에 정의된 환경 변수를 로드해보겠습니다. 다음은 dotenv를 사용하는 기본적인 예제입니다:

from dotenv import load_dotenv
import os

# .env 파일 로드
load_dotenv()

# 환경 변수 읽기
api_key = os.getenv('API_KEY')
database_url = os.getenv('DATABASE_URL')

print(f"API_KEY: {api_key}")
print(f"DATABASE_URL: {database_url}")

위 코드에서 load_dotenv() 함수는 .env 파일을 읽어서 환경 변수로 로드합니다. 이후 os.getenv() 함수를 사용하여 해당 환경 변수를 불러올 수 있습니다.

5. .env 파일의 위치와 탐색

load_dotenv() 함수는 현재 작업 디렉터리(current working directory, CWD)와 그 상위 디렉터리들을 순차적으로 탐색하면서 .env 파일을 찾습니다. 예를 들어, 코드가 c:/study/03_prompt 폴더에서 실행되고, .env 파일이 c:/study 폴더에 있다면, load_dotenv() 함수는 다음과 같은 순서로 .env 파일을 탐색합니다:

  1. c:/study/03_prompt/.env
  2. c:/study/.env
  3. c:/.env

이러한 방식으로 load_dotenv() 함수는 .env 파일을 찾을 때까지 상위 디렉터리로 이동하며 파일을 탐색합니다.

6. 마무리

dotenv 라이브러리는 Python 프로젝트에서 환경 변수를 쉽게 관리할 수 있게 도와줍니다. .env 파일을 사용하여 민감한 정보를 코드에서 분리하고, 보안성을 높일 수 있습니다. 또한, 설정을 한 곳에서 관리할 수 있어 유지보수가 용이해집니다. dotenv를 활용하여 환경 변수를 체계적으로 관리해보세요.

이제 Python 프로젝트에서 환경 변수를 쉽게 설정하고 사용하는 방법을 알게 되셨기를 바랍니다. Happy coding!

반응형