Google Colab & Jupyter Notebook에서 dotenv 사용법

Page content

개요

환경 변수를 코드 내에 직접 작성하는 것은 보안상 위험할 수 있다. 이를 방지하기 위해 .env 파일을 사용하여 환경 변수를 저장하고, dotenv 라이브러리를 활용해 이를 불러올 수 있다.

이번 글에서는 Google Colab 및 Jupyter Notebook에서 dotenv 사용법을 다룬다.


1. dotenv란?

dotenv.env 파일에 저장된 환경 변수를 쉽게 로드할 수 있도록 도와주는 라이브러리이다. 이를 활용하면 API 키, 데이터베이스 접속 정보 등을 안전하게 관리할 수 있다.

Python에서는 python-dotenv을 사용한다.


2. dotenv 설치하기

  • Jupyter Notebook 또는 Google Colab에서 설치
!pip install python-dotenv

설치가 완료되면 환경 변수를 저장할 .env 파일을 생성한다.


3. .env 파일 생성하기

Google Colab 및 Jupyter Notebook은 로컬 환경이 아니기 때문에 .env 파일을 수동으로 생성해야 한다.

  • .env 파일 생성

아래 코드를 실행하면 .env 파일이 생성된다.

%%writefile .env
SECRET_KEY=mysecretkey
DATABASE_URL=postgres://user:password@localhost:5432/mydb

이제 .env 파일이 현재 디렉토리에 저장되었다.


4. .env 파일에서 환경 변수 불러오기

  • 이제 dotenv를 사용하여 환경 변수를 불러오자.
from dotenv import load_dotenv
import os

# .env 파일 로드
load_dotenv()

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

print("SECRET_KEY:", secret_key)
print("DATABASE_URL:", database_url)

✅ 실행 결과:

SECRET_KEY: mysecretkey
DATABASE_URL: postgres://user:password@localhost:5432/mydb

5. .env 파일이 잘 로드되지 않을 때

환경 변수가 올바르게 로드되지 않는 경우, dotenv_values()를 사용하여 직접 확인할 수 있다.

from dotenv import dotenv_values

config = dotenv_values(".env")
print(config)

실행 결과:

{'SECRET_KEY': 'mysecretkey', 'DATABASE_URL': 'postgres://user:password@localhost:5432/mydb'}

이렇게 하면 .env 파일의 내용을 딕셔너리 형태로 불러올 수 있다.


6. Google Colab에서 .env 파일 유지하는 방법

Google Colab에서는 런타임이 초기화되면 .env 파일이 삭제될 수 있다. 이를 방지하려면 .env 파일을 Google Drive에 저장하는 방법을 사용할 수 있다.

(1) Google Drive에 .env 저장 및 로드

  1. Google Drive를 마운트한다.
from google.colab import drive
drive.mount('/content/drive')
  1. .env 파일을 Google Drive에 저장한다.
%%writefile /content/drive/MyDrive/.env
SECRET_KEY=mysecretkey
DATABASE_URL=postgres://user:password@localhost:5432/mydb
  1. .env 파일을 불러올 때 Google Drive에서 로드한다.
from dotenv import load_dotenv
import os

load_dotenv("/content/drive/MyDrive/.env")

secret_key = os.getenv("SECRET_KEY")
print("SECRET_KEY:", secret_key)
  • 이렇게 하면 Google Drive에 .env 파일을 저장해두고, 런타임이 재설정되어도 유지할 수 있다.

7. 마무리

Google Colab 및 Jupyter Notebook에서 dotenv를 활용하면 보안에 민감한 정보를 안전하게 관리할 수 있다. .env 파일을 직접 생성하고 불러오는 방법을 숙지하면 환경 변수를 더욱 효과적으로 활용할 수 있다.

요약:

  • python-dotenv를 설치한다.
  • .env 파일을 생성하여 환경 변수를 저장한다.
  • load_dotenv()를 사용하여 환경 변수를 불러온다.
  • Google Drive에 .env 파일을 저장하면 Colab에서 유지할 수 있다.

이제 환경 변수를 안전하게 관리하며 Google Colab & Jupyter Notebook을 활용해 보자! 🚀