IT ์•Œ์•„๊ฐ€๊ธฐ

[์ฝ”๋”ฉํ”์ ] .env file ๋งŒ๋“ค๊ณ  ํ™œ์šฉํ•˜๊ธฐ : ๊ฐ„๋‹จํ•œ ๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ๋ฐฉ๋ฒ•

์žก์‹๋ƒฅ์ด 2025. 2. 24. 16:31

[์ฝ”๋”ฉ ํ”์ ] .env ํŒŒ์ผ ๋งŒ๋“œ๋Š” ๋ฐฉ๋ฒ•

.env ํŒŒ์ผ์ด๋ž€?

.env๋Š” ํ™˜๊ฒฝ ๋ณ€์ˆ˜(environment variables)๋ฅผ ์ €์žฅํ•˜๋Š” ํŒŒ์ผ๋กœ, API ํ‚ค, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ •๋ณด, ์„ค์ • ๊ฐ’์„ ๋ณด๊ด€ํ•  ๋•Œ ์‚ฌ์šฉ๋œ๋‹ค.

๋ณด์•ˆ์ƒ ์ค‘์š”ํ•œ ์ •๋ณด๋ฅผ ๋‹ด์•„ ๋†“๊ณ  github์— ์—…๋กœ๋“œ ํ•˜๊ธฐ ์ „์—, .gitignore์— ์ถ”๊ฐ€ํ•˜๋ฉด ๊ฐœ์ธ์ •๋ณด๊ฐ€ ๊ณต์œ ๋˜๋Š” ๊ฒƒ์„ ๋ง‰์„ ์ˆ˜ ์žˆ๋‹ค. 

 

๊ฐœ์ธ์ •๋ณด ๋ณดํ˜ธ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ๋งˆ๋‹ค ๋‹ค๋ฅธ ์„ค์ • ๊ฐ’์œผ๋กœ ์„ค์ •ํ•˜์—ฌ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, .env ํŒŒ์ผ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ๋งŒ์œผ๋กœ ์‰ฝ๊ฒŒ ํ™˜๊ฒฝ ์„ค์ • ๋ณ€๊ฒฝ ๊ฐ€๋Šฅํ•ด์„œ ๋”ฐ๋กœ .env ํŒŒ์ผ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ์ด ์ข‹๋‹ค๊ณ  ํ•œ๋‹ค. 


.env ํŒŒ์ผ ์ƒ์„ฑ๋ฐฉ๋ฒ• 

1. ์šฐ์„  ๋งฅ๊ณผ Linux OS์˜ ๋ช…๋ น์–ด์ด๋‹ค. 

nano .env 

 

์ด ๋ช…๋ น์–ด๋Š” ํ˜„์žฌ ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š” .env ํŒŒ์ผ์„ nano ์—๋””ํ„ฐ๋กœ ์—ฌ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค. 

์—ฌ๊ธฐ์— OPENAI_API_KEY ๋“ฑ ์ฝ”๋“œ์— ์ €์žฅ๋˜์–ด ๊ณต์œ ๋˜๋ฉด ๊ณค๋ž€ํ•˜์ง€๋งŒ, ํ•„์š”๋กœ ํ•˜๋Š” ์ •๋ณด๋ฅผ ํ™˜๊ฒฝ์œผ๋กœ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

nano๋Š” ๋ฆฌ๋ˆ…์Šค/์œ ๋‹‰์Šค์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ๋ณธ์ ์ธ ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ๋กœ, ํ„ฐ๋ฏธ๋„์—์„œ ์‹คํ–‰๋˜๋ฉฐ, ๊ฐ„๋‹จํ•œ ์„ค์ • ํŒŒ์ผ์„ ์ˆ˜์ •ํ•  ๋•Œ ์ž์ฃผ ์‚ฌ์šฉ๋œ๋‹ค.

Ctrol + O ๋ˆ„๋ฅด๊ณ , Ctl+ X ๋ˆ„๋ฅด๋ฉด ํŒŒ์ผ์ด ์ €์žฅ๋œ๋‹ค. 

 

์ด๋ ‡๊ฒŒ ํŒŒ์ผ์„ ์ €์žฅํ•ด๋„ ls (๋ฆฌ์ŠคํŠธ, ๋””๋ ‰ํ† ๋ฆฌ ์•ˆ์— ์žˆ๋Š” ํŒŒ์ผ๋“ค์„ ๋ณด์—ฌ์ค€๋‹ค.) ํ•ด๋ณด๋ฉด .env ๊ฐ€ ์•ˆ๋ณด์ธ๋‹ค. ๊ทธ๊ฒƒ์€ .์œผ๋กœ ์‹œ์ž‘ํ•˜๋Š” ๊ฒฝ์šฐ hidden file๋กœ ์ธ์‹ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ ls -a๋ฅผ ํ•˜๋ฉด ์ƒ์„ฑ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์•ˆ์˜ ๋‚ด์šฉ์„ ํ™•์ธํ•˜๊ณ  ์‹ถ์œผ๋ฉด cat ๋ช…๋ น์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋œ๋‹ค. cat(concatenate)์€ ํŒŒ์ผ ๋‚ด์šฉ์„ ์ถœ๋ ฅํ•˜๊ฑฐ๋‚˜, ์—ฌ๋Ÿฌ ํŒŒ์ผ์„ ์—ฐ๊ฒฐํ•˜๋Š” ๋ฆฌ๋ˆ…์Šค/๋งฅ ๋ช…๋ น์–ด์ด๋‹ค.

 

2. ๋ฐ˜๋ฉด ์œˆ๋„์šฐ OS๋Š” ๋‹จ์ˆœํ•˜๋‹ค! ๋ฉ”๋ชจ์žฅ์„ ์—ด๊ณ  ํ•ด๋‹น ๋‚ด์šฉ์„ ๋„ฃ์€ ๋‹ค์Œ์—, ํ”„๋กœ์ ํŠธ ํŒŒ์ผ์— ํ•ด๋‹น ๋‚ด์šฉ์„ ์ €์žฅํ•˜๋ฉด ๋œ๋‹ค. ์ด ๋•Œ ์ €์žฅํ•˜๋Š” ๋ฌธ์„œ ํŒŒ์ผ์„ "๋ชจ๋“  ํŒŒ์ผ"๋กœ ์„ค์ •ํ•˜๊ณ , ํŒŒ์ผ ์ด๋ฆ„์„ .env๋ผ๊ณ  ์ €์žฅํ•ด์•ผํ•œ๋‹ค.  


.env ํŒŒ์ผ ํ™œ์šฉ

import os
from dotenv import load_dotenv

load_dotenv()
API_KEY = os.getenv("OPENAI_API_KEY")

 

ํŒŒ์ด์ฌ ํ™˜๊ฒฝ์—์„œ pip install python-dotenv ๋กœ dotenv ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ์„ค์น˜ํ•˜๋ฉด, 

์ด๋Ÿฐ์‹์œผ๋กœ .env ๋ฅผ ํ™œ์šฉํ•˜๊ณ  ์‹ถ์„ ๋•Œ dotenv ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์˜ load_dotenv() ๋ฉ”์„œ๋“œ๋กœ ์‰ฝ๊ฒŒ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๋‹ค. 

 

 

728x90