green snake
Photo by Pixabay on Pexels.com

【完全ガイド】FastAPIをvenvで始める―環境構築から動作確認まで


📋 記事のポイント(サマリー)

  • 誰向け?
    Pythonの基礎はあるが、Webフレームワークを触ったことがない初心者~中級者
  • 学べること
    1. 仮想環境(venv)のメリットと作成方法
    2. Pythonバージョンの確認・切り替え
    3. FastAPI本体とASGIサーバー(Uvicorn)のインストール手順
    4. 最小限「Hello, World!」APIの実行・動作確認
    5. アクセシビリティ配慮:コマンド例への注釈・コードの読みやすさ
  • 得られる効果
    • 他プロジェクトへの影響を避け、クリーンな環境で開発開始
    • FastAPIの基本構造を理解し、次のステップ(ルーティングやDB連携)への土台構築

🎯 対象読者

  • Pythonでプログラミングは一通りできるけれど、フレームワークは未経験
  • 既存のPython環境を汚さずに、新しいライブラリを試したい方
  • FastAPIの導入手順を、わかりやすく段階的に理解したい方

♿ アクセシビリティレベル

  • 読みやすさ:漢字・ひらがな・カタカナのバランスを考慮し、適切にルビを振る例も併記
  • 構造化:見出し・リストを多用し、スクリーンリーダーでも論理的に把握可能
  • コード例:コメント付きで、色覚多様性にも配慮したコントラストの高い表記
  • 要約とまとめ:各章末に要点を記載し、復習しやすい設計

1. はじめに:なぜvenvなのか?

Webアプリ開発では、複数プロジェクトで依存ライブラリのバージョンが衝突しがちです。
**venv(バーチャル・エンバイロンメント)**を使うことで、プロジェクトごとに独立したPython環境を作成できます。

  • メリット
    • システムのPythonに影響を与えない
    • プロジェクト固有のパッケージ管理が容易
    • チーム開発時の環境再現性向上

2. Pythonバージョンの確認・準備

2.1 Pythonのバージョン確認

ターミナル/コマンドプロンプトで以下を実行し、推奨の3.8以上が入っているか確認します:

python3 --version
# 例:Python 3.10.6

もし3.8未満の場合は、公式サイト(https://python.org)から最新版をインストールしてください。

2.2 pyenvなどでバージョン管理(任意)

複数バージョンを切り替えたい場合は、pyenvが便利です。以下を参考に導入しましょう:

# macOS/Linuxの場合
curl https://pyenv.run | bash
# シェル再読み込み後
pyenv install 3.10.6
pyenv global 3.10.6

— ここまでで、python3 --versionが3.10.6を指していれば準備完了です。


3. venvを使った仮想環境の作成

3.1 プロジェクトフォルダの作成

まず、任意のディレクトリに移動し、プロジェクト用フォルダを作ります。

mkdir fastapi-venv-project
cd fastapi-venv-project

3.2 venvで仮想環境を作成

Python標準のvenvモジュールを使って、仮想環境を作成します。

python3 -m venv .venv
  • .venv はフォルダ名の慣例です。任意の名前でもOKですが、慣習的に隠しフォルダにします。

3.3 仮想環境の有効化/無効化

  • 有効化
    • macOS/Linux:
      source .venv/bin/activate
      
    • Windows(PowerShell):
      .\.venv\Scripts\Activate.ps1
      
  • 無効化
    deactivate
    

仮想環境が有効になると、ターミナルのプロンプトに(.venv)と表示されます。


4. FastAPIとUvicornのインストール

4.1 pipのアップグレード

最新のpipを使うため、まずアップグレードします。

pip install --upgrade pip

4.2 FastAPI本体のインストール

pip install fastapi
  • FastAPIはドキュメンテーション生成機能や型ヒントを多用した先進的なフレームワークです。

4.3 ASGIサーバー(Uvicorn)のインストール

FastAPIを実行するにはASGIサーバーが必要です。Uvicornは高速かつ軽量な実装です。

pip install "uvicorn[standard]"
  • [standard]を付けると、推奨される追加依存(httptoolsuvloopなど)もまとめてインストールできます。

5. 「Hello, World!」APIを実行してみよう

5.1 サンプルコードの作成

プロジェクト直下にmain.pyを作成し、以下を記述します:

from fastapi import FastAPI

app = FastAPI()

@app.get("/")
async def read_root():
    """
    ルートパスにGETリクエストを受け取った際の処理です。
    """
    return {"message": "Hello, World!"}

5.2 サーバー起動

uvicorn main:app --reload
  • main:appmain.py内のappオブジェクトを指します。
  • --reloadは開発時用オプションで、コード変更のたびに自動再起動します。

5.3 動作確認

ブラウザまたはcurlでアクセスしてみましょう。

# ターミナルで
curl http://127.0.0.1:8000/
# {"message":"Hello, World!"} が返ってくれば成功です

さらに、ドキュメントUIも確認可能です:


6. よくあるトラブルと対処法

現象 対処法
command not found: python3 Pythonがインストールされていないか、パスが通っていません。<br>python --versionも試し、公式サイトから再インストールを。
Permission denied 仮想環境作成時に管理者権限が必要な場合があります。<br>sudoの利用やフォルダ権限を確認してください。
Uvicorn起動時にポート衝突 デフォルトの8000番が別プロセスで使用中。<br>--port 8001など別番号を指定。
ModuleNotFoundError: fastapi 仮想環境が正しく有効化されていない可能性。<br>which pythonpip listで確認を。

7. 次のステップ

  1. ルーティングの追加
    パスパラメータやクエリパラメータの使い方を学びましょう。
  2. Pydanticモデルによるデータバリデーション
    入力/出力の型安全性を高める方法を習得。
  3. データベース連携
    SQLAlchemyやTortoise ORMと組み合わせてCRUD機能を実装。
  4. 認証・認可
    OAuth2やJWTを用いたセキュアなAPI設計。

✨まとめ

本記事では、FastAPIを**仮想環境(venv)**上にインストールし、最小限の「Hello, World!」APIを立ち上げるまでを詳細に解説しました。

  • venvの作成/有効化で環境汚染を防ぎ、
  • pipアップグレードFastAPI/Uvicorn導入動作確認という流れをマスター。

これでFastAPIの基盤が整いました。次はルーティングやデータベース連携、認証機能などに進み、実践的なAPI開発を楽しんでくださいね♡


以上がFastAPIのvenv利用を含む環境構築ガイドです。ご不明点があれば、ぜひコメントでお知らせくださいませ。

投稿者 greeden

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)