정말 기초적인 FastAPI 튜토리얼 #0 - 환경 설정
FastAPI 튜토리얼을 진행할 때 필요한 환경을 구성합니다. poetry를 활용하여 의존성을 설치하고 FastAPI의 기본 구성 요소를 살펴봅니다.
이 튜토리얼은 파이썬을 조금 다뤄보신 분들이 FastAPI를 기초부터 배울 수 있게 구성했습니다.
0편에서는 다음 내용을 다룹니다.
• 튜토리얼 환경 설정하기
• FastAPI의 구성 요소
튜토리얼 환경 설정하기
파이썬 + Poetry
먼저 튜토리얼 진행에 필요한 환경을 설정합니다. (pyenv를 사용하여 다양한 파이썬 버전을 관리하면 좋습니다.) 여기서는 파이썬 버전을 관리하는 방법은 설명하지 않습니다.
파이썬 버전 확인하기
파이썬 버전이 3.11 이상인지 확인합니다.
$ python --version
Python 3.11.0
Poetry 설치하기
이제 (가상환경이 아닌 상태에서) Poetry를 설치합니다. 버전에 따라 명령어가 다소 달라질 수 있으므로 1.5.1 이상을 설치했는지 확인해주세요.
$ pip install poetry
$ poetry --version
Poetry (version 1.5.1)
Poetry에 대해 더 알고 싶다면 파이썬을 처음 사용하는 동료와 효율적으로 일하는 방법이라는 글을 참고하셔도 좋습니다.
이제 튜토리얼에 필요한 기본 파일을 설정해 둔 Git 저장소를 복제합니다.
$ git clone https://github.com/raccoonyy/fastapi-tutorial-at-pycon.git
$ cd fastapi-tutorial-at-pycon
마지막으로 파이썬 의존성을 설치하면 모든 준비가 끝납니다.
$ poetry install --no-root
...
Installing dependencies from lock file
...
FastAPI의 구성 요소
FastAPI = Pydantic + Starlette + Uvicorn
환경 구성이 끝났다면 잠시 FastAPI에 대해 살펴봅시다. FastAPI는 웹 API 개발에 필요한 최소한의 구성요소들을 모아둔 웹 프레임워크입니다.
- 비동기 웹 서버: Uvicorn
- 비동기 웹 서버 프레임워크: Starlette
- 데이터 검증: Pydantic
Uvicorn이 요청을 받으면 Starlette이 어떤 함수를 실행할지 결정하고, 해당 함수에 정의되어 있는 Pydantic 스키마로 데이터를 검증하는 흐름입니다.
Starlette이나 Pydantic을 이미 알고 있다면 더 좋겠지만, 모른다 해도 이 튜토리얼을 따라하는 데는 아무 문제가 없습니다. 겁먹지 말고 도전해보세요.
요약
- 튜토리얼 진행을 위한 환경을 설정하였습니다.
- FastAPI의 구성 요소를 알아보았습니다.
다음 편에서는...
정말 기초적인 FastAPI 튜토리얼 #1 - 쿼리 파라미터에서는 FastAPI로 첫 API를 만들어 보고, 쿼리 파라미터를 받아서 처리하는 방법을 알아보겠습니다.
COMMENTS