Skip to content

๋””๋ฒ„๊น…

์˜ˆ๋ฅผ ๋“ค๋ฉด Visual Studio Code ๋˜๋Š” PyCharm์„ ์‚ฌ์šฉํ•˜์—ฌ ํŽธ์ง‘๊ธฐ์—์„œ ๋””๋ฒ„๊ฑฐ๋ฅผ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

uvicorn ํ˜ธ์ถœ

FastAPI ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ uvicorn์„ ์ง์ ‘ ์ž„ํฌํŠธํ•˜์—ฌ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค

import uvicorn
from fastapi import FastAPI

app = FastAPI()


@app.get("/")
def root():
    a = "a"
    b = "b" + a
    return {"hello world": b}


if __name__ == "__main__":
    uvicorn.run(app, host="0.0.0.0", port=8000)

__name__ == "__main__" ์— ๋Œ€ํ•˜์—ฌ

__name__ == "__main__"์˜ ์ฃผ์š” ๋ชฉ์ ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํŒŒ์ผ์ด ํ˜ธ์ถœ๋  ๋•Œ ์‹คํ–‰๋˜๋Š” ์ผ๋ถ€ ์ฝ”๋“œ๋ฅผ ๊ฐ–๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

$ python myapp.py

๊ทธ๋Ÿฌ๋‚˜ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋‹ค๋ฅธ ํŒŒ์ผ์„ ๊ฐ€์ ธ์˜ฌ ๋•Œ๋Š” ํ˜ธ์ถœ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

from myapp import app

์ถ”๊ฐ€ ์„ธ๋ถ€์‚ฌํ•ญ

ํŒŒ์ผ ์ด๋ฆ„์ด myapp.py๋ผ๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‹คํ–‰ํ•˜๋ฉด

$ python myapp.py

Python์— ์˜ํ•ด ์ž๋™์œผ๋กœ ์ƒ์„ฑ๋œ ํŒŒ์ผ์˜ ๋‚ด๋ถ€ ๋ณ€์ˆ˜ __name__์€ ๋ฌธ์ž์—ด "__main__"์„ ๊ฐ’์œผ๋กœ ๊ฐ–๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์„น์…˜

    uvicorn.run(app, host="0.0.0.0", port=8000)

์ด ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.


ํ•ด๋‹น ๋ชจ๋“ˆ(ํŒŒ์ผ)์„ ๊ฐ€์ ธ์˜ค๋ฉด ์ด๋Ÿฐ ์ผ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค

๊ทธ๋ž˜์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‹ค๋ฅธ ํŒŒ์ผ importer.py๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ:

from myapp import app

# Some more code

์ด ๊ฒฝ์šฐ myapp.py ๋‚ด๋ถ€์˜ ์ž๋™ ๋ณ€์ˆ˜์—๋Š” ๊ฐ’์ด "__main__"์ธ ๋ณ€์ˆ˜ __name__์ด ์—†์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋‹ค์Œ ํ–‰

    uvicorn.run(app, host="0.0.0.0", port=8000)

์€ ์‹คํ–‰๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ •๋ณด

์ž์„ธํ•œ ๋‚ด์šฉ์€ ๊ณต์‹ Python ๋ฌธ์„œ๋ฅผ ํ™•์ธํ•˜์„ธ์š”

๋””๋ฒ„๊ฑฐ๋กœ ์ฝ”๋“œ ์‹คํ–‰

์ฝ”๋“œ์—์„œ ์ง์ ‘ Uvicorn ์„œ๋ฒ„๋ฅผ ์‹คํ–‰ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋””๋ฒ„๊ฑฐ์—์„œ ์ง์ ‘ Python ํ”„๋กœ๊ทธ๋žจ(FastAPI ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜)์„ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


์˜ˆ๋ฅผ ๋“ค์–ด Visual Studio Code์—์„œ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • "Debug" ํŒจ๋„๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.
  • "Add configuration...".
  • "Python"์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  • "Python: Current File (Integrated Terminal)" ์˜ต์…˜์œผ๋กœ ๋””๋ฒ„๊ฑฐ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ FastAPI ์ฝ”๋“œ๋กœ ์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ์ค‘๋‹จ์  ๋“ฑ์—์„œ ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.


Pycharm์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

  • "Run" ๋ฉ”๋‰ด๋ฅผ ์—ฝ๋‹ˆ๋‹ค
  • "Debug..." ์˜ต์…˜์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  • ๊ทธ๋Ÿฌ๋ฉด ์ƒํ™ฉ์— ๋งž๋Š” ๋ฉ”๋‰ด๊ฐ€ ๋‚˜ํƒ€๋‚ฉ๋‹ˆ๋‹ค.
  • ๋””๋ฒ„๊ทธํ•  ํŒŒ์ผ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค(์ด ๊ฒฝ์šฐ main.py).

๊ทธ๋Ÿฐ ๋‹ค์Œ FastAPI ์ฝ”๋“œ๋กœ ์„œ๋ฒ„๋ฅผ ์‹œ์ž‘ํ•˜๊ณ  ์ค‘๋‹จ์  ๋“ฑ์—์„œ ์ค‘์ง€ํ•ฉ๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค.