Chapter 02無料公開

開発環境の構築と初期セットアップ

hamaup
hamaup
2025.03.16に更新

🛠️ 開発環境を整えよう!

これから、快適なFastAPI開発環境を段階的に構築し、最初のアプリを動かすまでの道のりを一緒に歩んでいきましょう。初心者の方でも安心して進められるよう、各ステップを丁寧に解説します。

Pythonをインストールしよう

FastAPIはPythonで動作するフレームワークです。まずは適切なPythonバージョンをインストールしましょう。

💡 なぜPythonが必要なの

FastAPIはPythonで書かれたフレームワークです。Pythonは読みやすく、書きやすいプログラミング言語で、Web開発だけでなく、データ分析や機械学習など幅広い分野で活用されています。

Windowsの場合:

  1. Pythonの公式ダウンロードページにアクセス
  2. ページ下部の「Files」から「Windows installer (64-bit)」をダウンロード
  3. インストーラーを実行し、「Add Python to PATH」にチェックを入れてインストール

macOSの場合:

  1. Pythonの公式ダウンロードページにアクセス
  2. ページ下部から「macOS 64-bit universal2 installer」をダウンロード
  3. インストーラーを実行

バージョン確認

インストール後、以下のコマンドでバージョンを確認しましょう:

python --version  # Windowsの場合
# または
python3 --version  # macOS/Linuxの場合

仮想環境を作成しよう

次は、プロジェクト専用の「仮想環境」を作成します。これにより、プロジェクトごとに必要なパッケージを個別に管理できます。

💡 なぜ仮想環境が必要なの

仮想環境は、プロジェクトごとに必要なライブラリを独立して管理するために非常に重要です。例えば:

  • プロジェクトAではライブラリXのバージョン1.0が必要
  • プロジェクトBではライブラリXのバージョン2.0が必要

このような場合、仮想環境がないとバージョン衝突が起こり、プロジェクトが正常に動作しなくなる可能性があります。仮想環境を使うことで、安全で安定した開発環境を維持できます。

仮想環境の作成手順

まず、プロジェクトフォルダを作成しましょう。

mkdir fastapi-chat
cd fastapi-chat

次に、venvを使って仮想環境を作成します。

# Windowsの場合
python -m venv venv

# macOS/Linuxの場合
python3 -m venv venv

仮想環境の有効化

作成した仮想環境を有効化します。

# Windowsの場合
venv\Scripts\activate

# macOS/Linuxの場合
source venv/bin/activate

有効化に成功すると、ターミナルのプロンプト前に(venv)と表示されます。これで仮想環境の準備完了です!

必要なパッケージをインストールしよう

仮想環境が有効になったら、FastAPIと関連パッケージをインストールします。

pip install fastapi uvicorn pydantic

各パッケージの役割

  • fastapi: Web APIフレームワーク本体
  • uvicorn: ASGIサーバー。FastAPIアプリケーションを高速に実行します
  • pydantic: データバリデーションライブラリ(後で詳しく解説)

最初のFastAPIアプリを作ろう!

開発環境の準備ができたので、最初のFastAPIアプリケーションを作成してみましょう。

main.pyファイルの作成

プロジェクトフォルダ内にmain.pyというファイルを作成し、以下のコードを記述します。

from fastapi import FastAPI

app = FastAPI()

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

コードの解説

  • from fastapi import FastAPI:
    FastAPIフレームワークをプログラムにインポートしています。これによりFastAPIの機能が使えるようになります。

  • app = FastAPI():
    FastAPIアプリケーションのインスタンスを作成しています。このappオブジェクトを通じて、ルートの定義やアプリケーションの設定などを行います。

  • @app.get("/"):
    これはデコレータと呼ばれるものです。デコレータはPythonの特別な機能で、関数に追加の機能を付け加えます。この場合、「/」というURLパス(ウェブサイトのルートページ)へのGETリクエストがあったときに、下の関数を実行するよう指示しています。

  • async def root():
    非同期関数を定義しています。asyncキーワードは、この関数が非同期処理を行うことを示します。FastAPIでは非同期関数を使うことで、複数のリクエストを効率よく処理できます。

  • return {"message": "Hello World"}:
    関数の戻り値として辞書型のデータを返しています。FastAPIはこれを自動的にJSON形式に変換してクライアントに送信します。ブラウザでアクセスすると、{"message": "Hello World"}というJSONデータが表示されます。

このシンプルなコードだけで、Webリクエストを受け付けてJSONレスポンスを返すAPIが完成します。FastAPIの設計思想である「シンプルさ」と「直感的な記述」が表れています。

💡 なぜasync def

async defはPythonの非同期処理を扱うための構文です。FastAPIは非同期処理を活用して高いパフォーマンスを実現しています。非同期処理については後ほどで詳しく学びます。

アプリを起動してみよう!

main.pyを作成したら、次のコマンドでアプリケーションを起動します。

uvicorn main:app --reload

コマンドの解説

  • uvicorn: ASGIサーバーを起動
  • main:app: main.pyファイル内のapp変数を指定
  • --reload: コードを修正するとサーバーを自動的に再起動するオプション

サーバーが起動すると、以下のようなメッセージが表示されます。

INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO:     Started reloader process [プロセスID] using StatReload
INFO:     Started server process [プロセスID]
INFO:     Waiting for application startup.
INFO:     Application startup complete.

ブラウザでhttp://127.0.0.1:8000にアクセスしてみましょう。"Hello World"メッセージが表示されたら成功です!

APIドキュメントを確認しよう

FastAPIの素晴らしい特徴の一つは、APIドキュメントを自動生成してくれることです。

Swagger UI

ブラウザでhttp://127.0.0.1:8000/docsにアクセスすると、Swagger UIが表示されます。ここでは:

  • APIのエンドポイント一覧が見られる
  • リクエスト・レスポンスの形式を確認できる
  • 実際にAPIを試すことができる

ReDoc

もう一つのドキュメントツールがReDocです。http://127.0.0.1:8000/redocにアクセスすると表示されます。より洗練されたデザインでAPIドキュメントを確認できます。

🙌 開発環境構築、完了!

お疲れ様でした!このセクションでは以下のことを達成しました。

  1. Pythonのインストール
  2. 仮想環境の作成と有効化
  3. FastAPIと必要パッケージのインストール
  4. 初めてのFastAPIアプリの作成
  5. アプリの起動と動作確認
  6. APIドキュメント(Swagger UI・ReDoc)の確認

これで、FastAPIチャットアプリ開発に必要な土台ができました!

➡️ 次のセクションへ進みましょう!

次のセクションでは「FastAPIの基本とルーティング」について学んでいきます。