FastAPI のインストールと環境設定

FastAPI は Python 3.8 以降に依存しています。このセクションでは、FastAPI のインストール方法と開発環境の設定方法を説明します。


Python バージョンの確認

FastAPI をインストールする前に、お使いの Python バージョンを確認してください:

$ python --version
Python 3.11.0

# 或者
$ python3 --version
Python 3.11.0

Python バージョンが 3.8 より低い場合は、先に Python をアップグレードしてください。


仮想環境の作成

仮想環境に FastAPI をインストールすることをお勧めします。システムの Python パッケージと競合するのを避けられます:

# 创建虚拟环境
$ python -m venv venv

# 激活虚拟环境(macOS/Linux)
$ source venv/bin/activate

# 激活虚拟环境(Windows)
$ venv\Scripts\activate

仮想環境は Python 開発のベストプラクティスです。各プロジェクトで独立した仮想環境を使用することで、異なるプロジェクト間の依存関係の競合を避けることができます。


FastAPI のインストール

pip を使用して FastAPI をインストールします:

$ pip install fastapi

このコマンドは FastAPI のコアパッケージのみをインストールします。FastAPI とそのすべてのオプション依存関係を一度にインストールする必要がある場合は、次を使用できます:

$ pip install "fastapi[all]"

fastapi[all]以下のコンポーネントがインストールされます:

パッケージ名用途
uvicorn[standard]ASGI サーバー。FastAPI アプリケーションの実行に使用
python-multipartフォームデータとファイルアップロードのサポート
jinja2HTML テンプレートエンジン
python-jose[cryptography]JWT トークンのサポート
passlib[bcrypt]パスワードのハッシュ化と暗号化
python-dotenv環境変数の管理

Uvicorn のインストール

FastAPI は ASGI フレームワークであり、実行には ASGI サーバーが必要です。最もよく使われるのは Uvicorn です:

$ pip install "uvicorn[standard]"

[standard]uvloop(高性能イベントループ)と httptools(高性能 HTTP パーサー)がインストールされ、パフォーマンスが大幅に向上します。

ASGI(Asynchronous Server Gateway Interface)は、Python の非同期 Web サーバーとアプリケーション間の標準インターフェースであり、WSGI の非同期バージョンです。Flask などの従来のフレームワークは WSGI(同期)を使用しますが、FastAPI は ASGI(非同期)を使用するため、並行リクエストをより効率的に処理できます。


最初の FastAPI アプリケーションを実行する

インストールが完了したら、次の名前のmain.pyファイルを作成します:

例

from fastapi import FastAPI

# FastAPI アプリケーションのインスタンスを作成
app = FastAPI()

# ルートパスの GET ルートを定義
@app.get("/")
async def root():
    return {"message": "Hello World"}

コマンドラインでアプリケーションを起動します:

$ uvicorn main:app --reload

パラメータの説明:

パラメータ説明
main:appmainファイル名 main.py を指します。appファイル内で作成された FastAPI インスタンスの変数名を指します。
--reload開発モード。コード変更後にサーバーを自動リロードします(開発環境のみ)。

起動が成功すると、ターミナルに次のように表示されます:

INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO:     Started reloader process
INFO:     Started server process
INFO:     Waiting for application startup.
INFO:     Application startup complete.

ブラウザを開いてアクセスしますhttp://127.0.0.1:8000。以下のような JSON レスポンスが表示されます:

{"message": "Hello World"}

同時に、FastAPI はインタラクティブな API ドキュメントを自動生成します:

URLドキュメントの種類説明
http://127.0.0.1:8000/docsSwagger UIAPI をインタラクティブにテストできるドキュメントインターフェース
http://127.0.0.1:8000/redocReDoc読みやすさを重視したドキュメントインターフェース

FastAPI CLI を使用する

FastAPI の新しいバージョンではfastapiコマンドラインツールが提供され、より便利にアプリケーションを実行できます:

# 开发模式(自动重载)
$ fastapi dev

# 生产模式
$ fastapi run

fastapi devプロジェクト内の FastAPI アプリケーションを自動的に検索して開発サーバーを起動します。これは次と同等です:uvicorn main:app --reload。


推奨開発ツール

ツール説明
VS Code無料で軽量。Python プラグインと Pylance プラグインを組み合わせると、優れた FastAPI 開発体験が得られます。
PyCharmプロフェッショナルな Python IDE。FastAPI プロジェクトテンプレートと強力なデバッグ機能を内蔵。
Alibaba QoderAlibaba がリリースした AI プログラミング IDE。VS Code をベースに深くカスタマイズされています。
ByteDance TraeByteDance がリリースした AI 駆動の開発ツール。Python サポートを内蔵。
VS Code + Python プラグインの使用をお勧めします。FastAPI の型アノテーションと自動補完のサポートが最も優れており、完全に無料です。
その他の拡張機能