-
๊ต๋ด AI ๋์๋ฆฌ KHUDA ๋จธ์ ๋ฌ๋ ๋ชจ๋ธ์ ์๋นํด์ผํ ์ผ์ด ์๊ฒจ์,
FAST API๋ FLASK์ค์ ๊ณ ๋ฏผ์ ํ๋ค ํ๋ผ์คํฌ๋ ๋ ํผ๋ฐ์ค๊ฐ ๋ณ๋ก ์๋ค๋ ๋ง์ ์น๊ตฌํํ ๋ค์ด
์์ ํ๊ฒ ํ๋ผ์คํฌ๋ฅผ ์ฌ์ฉํ๊ธฐ๋ก ํ๋ค.
ํ๋ผ์คํฌ๋ฅผ ์์.. ๋ง์ ธ๋ณธ ์ ์ด ์์๊ธฐ ๋๋ฌธ์ ๊ฐ๋ฐ ํ๊ฒฝ ์ธํ ๋ถํฐ ์์!!
(์์ ์ ์จ๋จ๋ ๊ฑด๋ฐ ์ด์ ์ผ ์ฎ๊ธฐ๋น...)ํ๋ผ์คํฌ๋?
- โ๋ง์ดํฌ๋ก ์น ํ๋ ์์ํฌโ โ ํ๋ ์์ํฌ๋ฅผ ๊ฐ๊ฒฐํ๊ฒ ์ ์งํ๊ณ ํ์ฅ ๊ฐ๋ฅ
- ๊ฐ๊ฒฐํ๋ค?
from flask import Flaskapp = Flask(__name__)@app.route("/")def hello():return "Hello World!"if __name__ == "__main__":app.run()- ์ด ์ฝ๋ ๋ง์ผ๋ก ์น ๋ธ๋ผ์ฐ์ ์ โHello Worldโ๋ฅผ ๋์ธ ์ ์๋ค.
- ํ์ฅ์ฑ ์๋ ์ค๊ณ๋?
- ๋ ํ๋์ ์ ๋ช ํ ํ์ด์ฌ ์๋ฒ ํ๋ ์์ํฌ์ธ ์ฅ๊ณ ๋ ํ๋ ์์ํฌ ์์ฒด์ ํผ๊ณผ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ฒ๋ฆฌํ๋ ๊ธฐ๋ฅ์ด ํฌํจ โ ๋ฉ์น๊ฐ ํฐ ํ๋ ์์ํฌ
- ํ๋ผ์คํฌ๋ ํ๋ ์์ํฌ ์์ฒด์ ํฌํจx โ ๊ฐ๋ณ๋ค! ํ์ฅ ๋ชจ๋์ ์ฌ์ฉํ์ฌ ์ด๋ฅผ ๋ณด์
- ์ฒ์๋ถํฐ ๋ชจ๋ ๊ธฐ๋ฅ์ ํฌํจํ๊ณ ์์ง ์๊ณ ๊ทธ๋๊ทธ๋ ๊ฐ๋ฐ์๊ฐ ํ์ํ ํ์ฅ ๋ชจ๋์ ํฌํจํด ๊ฐ๋ฉฐ ๊ฐ๋ฐ
ํ์ด์ฌ ๊ฐ์ํ๊ฒฝ
ํ๋ผ์คํฌ๋ฅผ ์ด์ฉํ ์น ๊ฐ๋ฐ ํ๊ฒฝ์ ์ค๋นํ๊ธฐ ์ํด ํ์ด์ฌ ๊ฐ์ ํ๊ฒฝ ๊ฐ๋ ์ ์์์ผ ํ๋ค.
์ฐ๋ฆฌ๋ ํ๋ผ์คํฌ๋ฅผ ํ์ด์ฌ ๊ฐ์ ํ๊ฒฝ์ ์ค์นํ ๊ฒ์ด๋ค.
- ํ์ด์ฌ ๊ฐ์ ํ๊ฒฝ โ ํ์ด์ฌ ํ๋ก์ ํธ๋ฅผ ์งํํ ๋ ๋ ๋ฆฝ๋ ํ๊ฒฝ ์์ฑ
- ex) ํ์ด์ฌ ๊ฐ๋ฐ์ A๊ฐ 2๊ฐ์ ํ๋ผ์คํฌ ํ๋ก์ ํธ๋ฅผ ๊ฐ๋ฐํ๊ณ ๊ด๋ฆฌํ ๊ฒฝ์ฐ ๊ฐ๊ฐ ํ์ํ ํ๋ผ์คํฌ์ ๋ฒ์ ์ด ๋ค๋ฅผ ์ ์์ โ ์ด๋ ํ๋์ PC์ ์๋ก ๋ค๋ฅธ ๋ฒ์ ์ ํ๋ผ์คํฌ๋ฅผ ์ค์นํด์ผ ํ๋ ๋ฌธ์ โ ๊ฐ์ ํ๊ฒฝ์ ํตํด ํด๊ฒฐ
- ํ๋์ PC์ ์๋ก ๋ค๋ฅธ ๋ฒ์ ์ ํ์ด์ฌ๊ณผ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฝ๊ฒ ์ค์น
- ํ๋์ ํ๋ก์ ํธ๋ง ์งํํ ๋์๋ ํ์๋ ์๋
ํ๋ผ์คํฌ ๊ฐ๋ฐํ๊ฒฝ ์ธํ
๋งฅ์ ํ์ด์ฌ ์ค์น
brew install python3
์ดํ ์ค์น๋ ๊ฑฐ ํ์ธ -> python3 -V(๋๋ฌธ์ v์ธ๊ฑฐ ์ฃผ์) or python3 --version
๊ฐ์ํ๊ฒฝ ์์ฑํ ํด๋๋ก ์ด๋
cd /Users/leeeunda/Desktop/Project
๊ฐ์ํ๊ฒฝ ์์ฑ
python3 -m venv checkhumate
- ๋ณธ์ธ์ด ์ค์ ํ๊ณ ์ถ์ ๊ฐ์ํ๊ฒฝ ์ด๋ฆ์ผ๋ก ์ค์ ํ์๋ฉด ๋ฉ๋๋ค! (์ฌ๊ธฐ์์๋ checkhumate)
ํ์ด์ฌ ๊ฐ์ํ๊ฒฝ ํ์ฑํ
source checkhumate/bin/activate
- ์ฑ๊ณต์ ์ผ๋ก ๊ฐ์ํ๊ฒฝ์ ์ง์ ํ๋ฉด ์์ ์ค์ ํ ์ด๋ฆ์ด ๋ฌ๋ค(์ฌ๊ธฐ์๋ checkhumate)
๊ฐ์ํ๊ฒฝ ์์ flask ์ค์น
pip3 install flask
- ๊ฐ์ํ๊ฒฝ ํ์ฑํ ์ํ์์ pip๋ฅผ ํตํด ์ค์นํ๋ฉด ๊ทธ ๊ฐ์ํ๊ฒฝ์๋ง ์ ์ฉ์ด ๋๋ค
- ์์ผ๋ก ํด๋ ์์์ ํ์ด์ฌ ํ์ผ์ ์์ฑํ๋ฉด ๋๋ค
ํธ๋ฌ๋ธ ์ํ
์ธํฐ๋ท ๊ธ ๋ณด๊ณ ํ๊ฑด๋ฐ ๊ทธ๋ฅ ๊ตณ์ด virtualenv์ ์จ๋ ๋จ.