환경 변수 관리: .env 파일과 os.getenv() 사용법

미남잉·2025년 3월 4일
0

개발할 때 API 키나 데이터베이스 URL 같은 민감한 정보를 코드에 직접 넣으면 보안상 위험하다.

이를 방지하기 위해 환경 변수(Environment Variables) 를 사용하며, 이를 쉽게 관리하기 위해 .env 파일을 활용할 수 있다.

1. os.getenv()로 환경 변수 가져오기

Python에서 환경 변수를 가져올 때는 os 모듈의 getenv() 함수를 사용한다.

import os

GOOGLE_API_KEY = os.getenv("GOOGLE_API_KEY")
print(GOOGLE_API_KEY)  # 환경 변수에서 GOOGLE_API_KEY 값을 가져옴

위 코드는 시스템 환경 변수에서 GOOGLE_API_KEY 값을 찾고, 존재하면 가져오고 없으면 None을 반환한다. 하지만, 시스템 환경 변수에 값이 설정되지 않았다면 가져올 수 없다는 한계가 있다.

2. .env 파일을 사용하여 환경 변수 관리

.env 파일은 환경 변수를 저장하는 텍스트 파일로, 프로젝트 폴더 내에서 쉽게 관리할 수 있다.

3.env 파일 생성

프로젝트 루트 디렉터리에 .env 파일을 생성하고, 다음과 같이 환경 변수를 정의한다.

# .env 파일 내용
GOOGLE_API_KEY=your_actual_google_api_key_here
DATABASE_URL=postgres://username:password@localhost:5432/mydatabase

이제 .env 파일에서 환경 변수를 불러와 사용할 수 있다.

3. dotenv 라이브러리로 .env 파일 로드

Python에서는 .env 파일을 직접 읽지 않기 때문에 dotenv 라이브러리를 사용해야 한다.

설치

pip install python-dotenv

사용법

import os
from dotenv import load_dotenv

# .env 파일 로드
load_dotenv()

# 환경 변수 가져오기
GOOGLE_API_KEY = os.getenv("GOOGLE_API_KEY")
DATABASE_URL = os.getenv("DATABASE_URL")

print(f"Google API Key: {GOOGLE_API_KEY}")
print(f"Database URL: {DATABASE_URL}")

이렇게 하면 .env 파일의 내용이 환경 변수로 등록되고, os.getenv()를 통해 값을 가져올 수 있다.

4. .gitignore.env 추가하기

.env 파일에는 API 키나 비밀번호 같은 민감한 정보가 포함될 수 있기 때문에, 깃허브(GitHub) 등의 공개 저장소에 업로드되지 않도록 해야 한다. 이를 방지하기 위해 .gitignore 파일에 .env를 추가한다.

.gitignore 파일 수정

# .env 파일 추가
.env

이렇게 하면 .env 파일이 Git에 업로드되지 않다.

5. 정리

  • os.getenv("변수명")을 사용하면 환경 변수 값을 가져올 수 있음
  • .env 파일을 사용하면 환경 변수를 더 쉽게 관리할 수 있음
  • .env 파일을 로드하려면 dotenv 라이브러리(load_dotenv())가 필요함
  • .env 파일은 절대 깃허브에 올리지 않도록 .gitignore에 추가해야 함

이 방법을 사용하면 보안성을 유지하면서도 환경 변수를 효율적으로 관리할 수 있다.

profile
Computer Vision Engineer

0개의 댓글

관련 채용 정보