Open2

Poetry + fastAPI + VScode

環境

  • RPI4(ubuntu) - poetry インストール済み
  • VSCode(Remote Developmentプラグインインストール済み)

設定

poetry

.vscodeの情報を先に作りたくないのでVSCodeで開く前にterminalで実行してプロジェクトを作ります。

poetry new fastapi-demo

VSCodeでプロジェクトを開く前に確認

https://zenn.dev/fuyu/scraps/27fbb5c0456bdc

fastAPI

VSCodeでpoetryで作成したプロジェクトフォルダを開き
terminalで以下を実行します。

poetry add fastapi uvicorn

コードを置く

main.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}

実行

poetry shell
uvicorn fastapi_demo.main:app --reload

ローカルで確認したこと

VSCodeのプラグイン:リモートエクスプローラーでraspberryPiからリダイレクトで表示された

http://localhost:8000/

http://localhost:8000/docs

http://localhost:8000/redoc

githubで管理する

.gitignoreを追加する

https://github.com/python-poetry/poetry/blob/master/.gitignore

githubにリポジトリをつくる

手元のリポジトリを調整

git init
remote add origin https://github.com/fu-yu/fastapi-demo.git
git add .
git commit -m 'Init'
git branch -M main
git push

リポジトリからcloneしてpoetryを試す

git clone https://github.com/fu-yu/fastapi-demo.git
cd fastapi-demo/
poetry install
poetry shell
uvicorn fastapi_demo.demo_plotly:app --reload
ログインするとコメントできます