파이썬/파이썬(python) 중급

[35-3 파이썬] 파이참 환경 변수 생성, API 키 숨기기, 감추기, 파이썬 환경 변수

Olivia-BlackCherry 2022. 9. 27. 21:34

Environment Variable

환경 변수

파이참에서 환경 변수를 생성해서 온라인에 나의 코드를 올릴 때, 나의 개인 정보를 보호해보자!

환경 변수를 생성하면 시스템에 환경 변수가 생기는 것이므로, 

원래 값을 코드창에 넣을 필요가 없다. 

 

환경 변수를 설정하면 두 가지 장점이 있다.

1. 편리성

코드 베이스에 자주 사용되는 특정한 변수들을 환경 변수로 지정한다. 

나중에 해당 변수 값이 변경된다면, 

그 환경 변수의 값을 수정하면 코드 전체를 수정하지 않아도 되기에 편리하다.

 

2. 보안

인증키, 비밀번호, 아이디와 같은 개인 정보들을 환경변수에 저장하면

코드 화면에는 보이지 않고, 백그라운드에 저장되기에

비밀을 유지할 수 있다.

 

환경 변수를 생성하는 방법은

윈도우와 맥/리눅스에서 다르지만, 

저장된 환경 변수를 사용하는 방법은 같다. 

 

 

윈도우에서 환경변수 설정하는 방법

1. 시작에서 오른쪽 마우스 버튼 클릭하고 시스템 클릭

 

2. 고급 시스템 설정 클릭

 

3. 시스템 속성 > 환경변수 클릭

 

4. 새로만들기> 변수 이름, 변수 값(띄어쓰기, 따옴표 X) > 확인

 

 

 

맥, 리눅스에서 환경변수 설정하는 방법

터미널 환경에서 바로 가능하다.

1.파이참 맨 아래의 Terminal(터미널)을 눌러보자.

2. env 키보드로 치기

 

3.export 환경변수이름=환경변수값 

띄어쓰기 없이 넣는다.

export MY_KEY=sakfjalalksjfklaklsdjfakjf

 

 

 

환경변수 불러오는 방법

import os
os.environ.get("환경변수")
os.environ["환경변수"]

환경변수가 시스템에 저장되어 있으므로 os를 import하고

get함수를 이용해서 환경변수를 가져온다. 

MY_API = asdfksfkjlasd로 저장해놓았다면

딕셔너리 형태이므로,

 

os.environ.get("MY_API")

또는

os.environ["MY_API"]

의 방법으로 불러온다.

 

 

<최종코드>

import requests
import os
URL = "http://api.openweathermap.org/data/2.5/forecast"
MY_KEY = os.environ.get("MY_API")
print(MY_KEY)
parameters = {
    "lat":54.58,
    "lon":136.8,
    "cnt": 12,
    "lang": "kr",
    "appid": MY_KEY
}
response = requests.get(URL, params= parameters)
response.raise_for_status()
data = response.json()
print(data)

data_list=data["list"]
weather_condition = [day_weather['weather'][0]["id"] for day_weather in data_list[6:11]]
print(weather_condition)
# 출력: [804, 804, 804, 802, 802]

will_rain = False
for time in weather_condition:
    if time <800:
        will_rain = True

if will_rain:
    print("우산 챙기세요!")