.env 파일에 환경 변수를 등록하는 방법?

반응형

dotenv.png

.env 파일에 환경 변수를 등록하는 것은 코드를 안전하게 관리하고 배포하기 위해 필요한 작업이다. 

 

.env 파일에 환경 변수 등록하기

1. .env 파일 생성

  • 프로젝트의 루트 디렉토리에 .env라는 이름의 파일을 생성한다. (확장자가 없는 파일)

2. 환경 변수 등록

  • .env 파일에 다음과 같은 형식으로 환경 변수를 등록한다.
    • VARIABLE_NAME: 환경 변수의 이름 (대문자를 사용하는 것이 일반적)
    • value: 환경 변수의 값
    주의
    • 따옴표를 사용하지 않아도 된다.
    • 공백이 없도록 주의 VARIABLE_NAME = value 와 같이 공백이 들어가면 오류가 발생할 수 있다.
    • 비밀번호나 API 키와 같이 민감한 정보는 절대로 코드에 직접 포함시키지 말고, .env 파일에 등록하여 관리
GOOGLE_API_KEY=gemini_api_key
WORDPRESS_URL=https://example.com
WORDPRESS_USERNAME=admin
WORDPRESS_PASSWORD=securepassword
 

3. .gitignore 파일에 .env 추가

  • .env 파일은 민감한 정보를 포함하고 있으므로, Git 저장소에 커밋하지 않도록 .gitignore 파일에 추가해야 한다.이렇게 하면 .env 파일은 로컬 환경에서만 사용되고, 원격 저장소에는 업로드되지 않는다.
      .env
    

4. Python 코드에서 환경 변수 사용

  • dotenv 라이브러리를 사용하여 .env 파일의 환경 변수를 Python 코드에서 읽어옵니다.
    • load_dotenv(): .env 파일을 로드하여 환경 변수를 시스템 환경 변수로 설정합니다.
    • os.getenv("VARIABLE_NAME"): VARIABLE_NAME에 해당하는 환경 변수의 값을 가져옵니다.
      import os
from dotenv import load_dotenv

load_dotenv()  # .env 파일 로드

# 환경 변수 사용
google_api_key = os.getenv("GOOGLE_API_KEY")
wordpress_url = os.getenv("WORDPRESS_URL")
wordpress_username = os.getenv("WORDPRESS_USERNAME")
wordpress_password = os.getenv("WORDPRESS_PASSWORD")

print(f"Google API Key: {google_api_key}")
print(f"WordPress URL: {wordpress_url}")
print(f"WordPress Username: {wordpress_username}")
print(f"WordPress Password: {wordpress_password}")
    

전체적인 흐름

  1. .env 파일 생성 및 환경 변수 등록
  2. .gitignore 파일에 .env 추가
  3. Python 코드에서 dotenv 라이브러리를 사용하여 .env 파일 로드
  4. os.getenv() 함수를 사용하여 환경 변수 값 가져오기

이렇게 하면 코드를 수정하지 않고도 환경 설정을 변경할 수 있으며, 민감한 정보를 안전하게 관리할 수 있다. 또한, 개발 환경, 테스트 환경, 운영 환경 등 다양한 환경에서 동일한 코드를 사용할 수 있다.

 

주의 사항

  • .env 파일은 반드시 프로젝트 루트 디렉토리에 위치해야 한다.
  • .env 파일에 등록된 환경 변수는 시스템 환경 변수보다 우선순위가 높다.
  • 보안을 위해 .env 파일은 Git 저장소에 커밋하지 않도록 주의할 것
반응형