【ときどきpython】fastapiの実行環境を導入する
詳しいことは公式を見ておけばなんとかなる
パッケージ
環境を作る
code:poetry environment
# プロジェクト作成、パッケージインストール
poetry new fastapi-tutorial
cd fastapi-tutorial
poetry add fastapi uvicorn
# 環境に入る
poetry shell
コードを書く
code:app.py
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def read_root():
return {"Hello": "World"}
@app.get("/items/{item_id}")
def read_item(item_id: int, q: str = None):
return {"item_id": item_id, "q": q}
実行
code:run fastapi
uvicorn app:app --host=0.0.0.0 --reload
--reload:コードの変更を自動反映
APIドキュメント
code:api document
docker
パクらせていただきました。感謝
poetryとかマルチステージビルドは使ってない
code:Dockerfile
FROM python:3.11.6-slim-bookworm
WORKDIR /app
RUN apt-get update
RUN apt-get upgrade -y && apt-get install -y \
vim \
less \
curl \
unzip
COPY . /app
RUN pip install --upgrade pip
RUN pip install --upgrade setuptools
RUN pip install -r requirements.txt
code:docker-compose.yaml
version: "3"
services:
api:
container_name: "fastapi"
volumes:
- ./app:/app
build: .
ports:
- 8080:8080
code:requirements.txt
fastapi
uvicorn
code:app/main.py
さっきと同じ
ちなみにuvicornってなに?
アッバーコーンと読むのね...