VS Code で FastAPI 開発

VS Code(正式名称 Visual Studio Code)は、Microsoft が提供する無料・オープンソース・クロスプラットフォームのコードエディタです。

VS Code は Windows、macOS、Linux に対応しており、強力な機能と柔軟な拡張性を備えています。

VS Code チュートリアル:https://www.example.com/vscode/vscode-tutorial.html

ダウンロード先:https://code.visualstudio.com/ 。

以下の拡張機能のインストールを推奨します:

  • Python (Microsoft)
  • Pylance (Microsoft)
  • FastAPI Snippets

また、中国国内の Alibaba と ByteDance も VS Code ベースの AI IDE を開発しています:

仮想環境の作成

まず Python 開発環境を構築しておきましょう。すでにインストールまたは設定済みの場合はスキップできます。

FastAPI と Uvicorn のインストール

pip install fastapi uvicorn

FastAPI アプリの作成

fastapi-demo ディレクトリにmain.pyファイルを作成します。コードは次のとおりです:

例

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def read_root():
    return {"message": "Hello, FastAPI!"}

@app.get("/items/{item_id}")
async def read_item(item_id: int, q: str = None):
    return {"item_id": item_id, "q": q}

アプリを実行

uvicorn main:app --reload

パラメータの説明:

  • main:Python モジュール名(.py を含まない)
  • app:FastAPI インスタンス変数名
  • --reload:開発時に自動リロードを有効にする

API にアクセス

  • ブラウザを開いてアクセスhttp://127.0.0.1:8000
  • インタラクティブドキュメント:http://127.0.0.1:8000/docs
  • 代替ドキュメント:http://127.0.0.1:8000/redoc

VS Code 開発のヒント

VS Code でメニューを選択し、File > Open Folder…、先ほど作成した fastapi-demo フォルダーを開きます。

初めてプロジェクトを開くとき、VS Code は「このワークスペースを信頼しますか?」と表示します。「Yes, I trust the authors」を選択して、拡張機能とリソースが正常に動作するようにしてください。

次のコマンドを使用することもできますcode .コマンドでディレクトリを直接開きます。 . 記号は現在のディレクトリを表します:
code .

requirements.txt の作成

新規ファイル(File > New Text File またはショートカットキー⌘N)、プロジェクト名の右側にある新規ファイルアイコンから直接作成することもできます:

次の内容(プロジェクトの依存関係)を追加します:

fastapi
redis
types-redis
uvicorn

ファイルを保存(⌘S)、requirements.txt という名前で保存します。

仮想環境の作成

仮想環境の作成

  • コマンドパレットを開く(⇧⌘P)

  • 入力して選択:Python: Create Environment

  • 環境タイプを選択:Venv(組み込み仮想環境)

  • Python バージョンを選択(お使いのマシンの最新バージョンを推奨)

  • 選択requirements.txtファイルを指定すると、依存関係が自動的にインストールされます

  • 確認をクリックすると、システムが仮想環境を作成し、依存関係を自動インストールします

次に、main.py ファイルを編集できます:

例

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
def root():
    return {"message": "Hello World"}

F5 を押してデバッガーを起動し、コードを実行します。

表示されたドロップダウンメニューで、リストから FastAPI デバッグ設定オプションを選択します:

この操作により、uvicorn を使用してデバッガー経由でアプリケーションサーバーを起動するデバッグ設定が自動的に作成され、ソースコードをステップ実行して動作を確認できるようになります。

ターミナルに次のような情報が表示されるはずです:

ターミナルで表示された URL http://127.0.0.1:8000/ を Ctrl+クリックし、ブラウザで開きます:

デフォルトのポートがすでに使用されている場合:

  • デバッガーを停止
  • コマンドパレットを開き(⇧⌘P)、検索して選択Debug: Add Configuration
  • 選択Python Debugger、次に選択FastAPI
  • これにより、.vscode/launch.jsonの中にカスタム設定ファイルが作成されます
  • に"args":[]には次の内容を追加して、カスタムポートを設定します:
    "args": ["--port=5000"]

プロジェクト構造の提案

大規模なプロジェクトでは、次の構造をお勧めします:

my_fastapi_project/
├── app/
│   ├── __init__.py
│   ├── main.py         # 应用入口
│   ├── api/            # API路由
│   │   ├── __init__.py
│   │   ├── items.py
│   │   └── users.py
│   ├── models/         # 数据模型
│   │   ├── __init__.py
│   │   └── user.py
│   ├── schemas/        # Pydantic模型
│   │   ├── __init__.py
│   │   └── user.py
│   └── db/             # 数据库相关
│       ├── __init__.py
│       └── session.py
├── tests/              # 测试代码
│   ├── __init__.py
│   └── test_api.py
├── requirements.txt    # 依赖列表
└── .env                # 环境变量

デバッグとテスト

FastAPI のデバッグ

VS Code の場合:

  1. ブレークポイントを設定する
  2. F5 を押してデバッグを開始
  3. ブラウザで API エンドポイントにアクセス

単体テスト

使用pytest:

例

# test_main.py
from fastapi.testclient import TestClient
from main import app

client = TestClient(app)

def test_read_root():
    response = client.get("/")
    assert response.status_code == 200
    assert response.json() == {"message": "Hello, FastAPI!"}

テストを実行:

pytest

デプロイ準備

本番サーバー

推奨:

  • Uvicorn + Gunicorn
  • Hypercorn
  • Daphne

Docker デプロイ

作成Dockerfile:

FROM python:3.9

WORKDIR /app

COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt

COPY . .

CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "80"]

ビルドして実行:

docker build -t fastapi-app .
docker run -d -p 80:80 fastapi-app
その他の拡張機能