FastAPI-Installation und Umgebungseinrichtung

FastAPI erfordert Python 3.8 oder höher. Dieser Abschnitt behandelt, wie man FastAPI installiert und die Entwicklungsumgebung konfiguriert.


Python-Version prüfen

Bevor Sie FastAPI installieren, überprüfen Sie Ihre Python-Version:

$ python --version
Python 3.11.0

# 或者
$ python3 --version
Python 3.11.0

Wenn deine Python-Version niedriger als 3.8 ist, aktualisiere zuerst Python.


Virtuelle Umgebung erstellen

Es wird empfohlen, FastAPI in einer virtuellen Umgebung zu installieren, um Konflikte mit den Python-Paketen des Systems zu vermeiden:

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

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

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

Virtuelle Umgebungen sind eine bewährte Methode in der Python-Entwicklung. Die Verwendung einer separaten virtuellen Umgebung für jedes Projekt vermeidet Abhängigkeitskonflikte zwischen Projekten.


FastAPI installieren

Installiere FastAPI mit pip:

$ pip install fastapi

Dieser Befehl installiert nur das FastAPI-Kernpaket. Wenn du FastAPI und alle optionalen Abhängigkeiten auf einmal installieren möchtest, kannst du Folgendes verwenden:

$ pip install "fastapi[all]"

fastapi[all]Die folgenden Komponenten werden installiert:

PaketZweck
uvicorn[standard]ASGI-Server, der zum Ausführen von FastAPI-Anwendungen dient
python-multipartUnterstützung für Formulardaten und Datei-Uploads
jinja2HTML-Template-Engine
python-jose[cryptography]Unterstützung für JWT-Token
passlib[bcrypt]Passwort-Hashing und Verschlüsselung
python-dotenvVerwaltung von Umgebungsvariablen

Uvicorn installieren

FastAPI ist ein ASGI-Framework, das einen ASGI-Server zum Ausführen benötigt. Der am häufigsten verwendete ist Uvicorn:

$ pip install "uvicorn[standard]"

[standard]Dies installiert uvloop (eine hochleistungsfähige Ereignisschleife) und httptools (einen hochleistungsfähigen HTTP-Parser), was die Leistung erheblich verbessert.

ASGI (Asynchronous Server Gateway Interface) ist die Standardschnittstelle zwischen asynchronen Python-Webservern und Anwendungen und die asynchrone Version von WSGI. Traditionelle Frameworks wie Flask verwenden WSGI (synchron), während FastAPI ASGI (asynchron) verwendet, was eine effizientere Verarbeitung gleichzeitiger Anfragen ermöglicht.


Starten Sie Ihre erste FastAPI-Anwendung

Nach der Installation erstellen Sie eine Datei namensmain.pyDatei:

Beispiel

from fastapi import FastAPI

# FastAPI-Anwendungsinstanz erstellen
app = FastAPI()

# GET-Route für den Root-Pfad definieren
@app.get("/")
async def root():
    return {"message": "Hello World"}

Starten Sie die Anwendung in der Kommandozeile:

$ uvicorn main:app --reload

Parameter description:

ParameterBeschreibung
main:appmainBezieht sich auf den Dateinamen main.py,appBezieht sich auf den Namen der FastAPI-Instanzvariable, die in der Datei erstellt wurde
--reloadEntwicklungsmodus: lädt den Server nach Codeänderungen automatisch neu (nur für die Entwicklungsumgebung)

Nach erfolgreichem Start zeigt das Terminal Folgendes an:

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.

Öffnen Sie den Browser und greifen Sie aufhttp://127.0.0.1:8000zu; Sie sehen dann die folgende JSON-Antwort:

{"message": "Hello World"}

Gleichzeitig generiert FastAPI automatisch eine interaktive API-Dokumentation:

AdresseDokumenttypBeschreibung
http://127.0.0.1:8000/docsSwagger UIEine Dokumentationsoberfläche zum interaktiven Testen der API
http://127.0.0.1:8000/redocReDocEine Dokumentationsoberfläche, die stärker auf das Leseerlebnis ausgerichtet ist

FastAPI CLI verwenden

Die neue Version von FastAPI bietetfastapiein Kommandozeilenwerkzeug, mit dem sich Anwendungen bequemer ausführen lassen:

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

# 生产模式
$ fastapi run

fastapi devEs findet automatisch FastAPI-Anwendungen im Projekt und startet den Entwicklungsserver, äquivalent zuuvicorn main:app --reload。


Empfohlene Entwicklungswerkzeuge

WerkzeugeBeschreibung
VS CodeKostenlos und leichtgewichtig, bietet eine hervorragende FastAPI-Entwicklungserfahrung mit den Erweiterungen Python und Pylance
PyCharmEine professionelle Python-IDE mit integrierten FastAPI-Projektvorlagen und leistungsstarken Debugging-Funktionen
Alibaba QoderEine von Alibaba eingeführte KI-Programmier-IDE, die tiefgehend auf Basis von VS Code angepasst wurde
ByteDance TraeEin von ByteDance eingeführtes KI-gesteuertes Entwicklungstool mit integrierter Python-Unterstützung
Es wird empfohlen, VS Code + Python-Erweiterung zu verwenden; diese bietet die beste Unterstützung für FastAPI-Typannotationen und Autovervollständigung und ist völlig kostenlos.
Weitere Erweiterungen