FastAPI로 개발하게 될 거 같아서 공부를 해보자. 일단 개발환경부터 세팅하자
개발환경은 pyenv와 poetry로 가상환경을 설정했다.
pyenv
특징
- pyenv 는 Python의 버전을 관리할 수 있다.
- 여러 개의 프로젝트에서 다양한 python 버전으로 개발환경을 세팅할 수 있다.
- 시스템 전체에 영향을 주지 않고 버전을 바꿀 수 있다.
주요 기능
- 여러 버전의 Python 설치
- 가상 환경 관리
- pyenv를 사용하여 가상 환경을 생성하고 관리할 수 있다.
- 각각의 프로젝트에 맞게 가상 환경을 생성하여 의존성을 격리할 수 있다.
사용 예시
- python 설치하기
# Python 3.9.6 버전 설치
pyenv install 3.9.6
# Python 3.8.12 버전 설치
pyenv install 3.8.12
- 설치한 버전 확인하기
pyenv versions
- 프로젝트에서만 해당 python 버전 사용하기
cd my_project
pyenv local 3.8.12
- 전역으로 python 버전 설정하기
pyenv global 3.10.10
Poetry
특징
- Poetry는 Python 패키지 관리 도구
- Group 옵션을 통해 다양한 환경에서 의존성을 관리할 수 있다.
주요 기능
- 가상 환경 생성과 관리
- 패키지 의존성 관리
- 프로젝트 정보 관리
- pyproject.toml 파일을 사용하여 프로젝트의 정보를 정의한다.
- 프로젝트의 이름, 버전, 저자 등의 정보를 설정할 수 있다
사용 예시
- 프로젝트 생성과 의존성 추가
# 새 프로젝트 생성
poetry new my_project
# pyproject.toml 생성
cd my_project
poetry init
# 의존성 추가
poetry add requests
poetry add numpy --dev # dev group에 numpy 설치
- 라이브러리 및 파일 실행하기(black, pytest 또는 소스 코드)
# 소스 코드 실행
poetry run python your_script.py
# pytest 실행
poetry run pytest
- 의존성 패키지 설치하기
poetry install
FastAPI
특징
- ASGI 서버와 호환되어 비동기 방식으로 동작한다
- 안정적이고 빠른 개발환경을 제공한다
주요 기능
- 빠른 성능
- 강력한 타입 힌팅
- API 문서 자동화
사용 예시
- fastapi 및 서버 설치
poetry add fastapi
poetry add "uvicorn[standard]"
- 간단한 api 예시
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
async def root():
return {"message": "Hello World"}
'FastAPI' 카테고리의 다른 글
FastAPI - Query Parameter에 Custom Validate 적용하기 (0) | 2023.09.02 |
---|---|
FastApi 사용하면서 기록할 것들 (0) | 2023.08.30 |
Annotated (0) | 2023.08.03 |
QueryParameter (0) | 2023.08.02 |
FastAPI - PathParameter (0) | 2023.08.02 |