Einführung
FastAPI hat schnell an Popularität gewonnen als ein hochleistungsfähiges, einfach zu verwendendes Web-Framework für die Erstellung von APIs mit Python. Bei der Kombination mit einer relationalen Datenbank kann FastAPI zur Erstellung leistungsfähiger und skalierbarer Anwendungen verwendet werden. Diese Anleitung führt Sie durch den Prozess der Einrichtung einer FastAPI-Anwendung mit einer relationalen Datenbank auf einem Ubuntu 24.04-Rechner. Wir werden alles von der Installation der notwendigen Werkzeuge bis zur Konfiguration der Datenbank und der Erstellung von API-Endpunkten abdecken.
Verwende FastAPI mit einer PostgreSQL-Datenbank
- Python-Umgebung einrichten
- Erstellen und Aktivieren einer Virtualisierungsumgebung
- Installieren und Einrichten von PostgreSQL
- Schnelles FastAPI-Anwendungsentwickeln
- Erforderliche Bibliotheken installieren
- Python-Anwendung ausführen
- FastAPI-Anwendungsendpunkte testen
Voraussetzungen
Bevor du die Schritte in diesem Leitfaden befolgst, brauchst du:
-
Einen Server, der Ubuntu ausführt, sowie einen nicht-root-Benutzer mit sudo-Rechten und einer aktiven Firewall. Wenn du Hilfe benötigst, um dies zu setzen, wähle deine Distribution aus dieser Liste und folge unserem Leitfaden für die Initialisierung des Servers. Stelle sicher, dass du mit einer unterstützten Version von Ubuntu arbeitest.
-
Vertrautheit mit der Linux-Kommandozeile. Wenn du dich an die Kommandozeile erinnern oder lernen möchtest, kannst du diese Anleitung zu Linux-Kommandozeile-Primer besuchen.
-
Führe
sudo apt-get update
im Ubuntu-Terminal aus, um sicherzugehen, dass dein System die neuesten Versionen und Sicherheitsupdates für die Software erhalten hat, die aus den auf deinem System konfigurierten Repositories verfügbar sind.
Diese Anweisungen gelten für die neusten Versionen von Ubuntu: Ubuntu 24.04, Ubuntu 22.04 und Ubuntu 20.04. Wenn Sie Ubuntu-Version <= 18.04 verwenden, empfehlen wir Ihnen, auf eine aktuellere Version zu aktualisieren, da Ubuntu keine Unterstützung mehr für diese Versionen anbietet. Diese Sammlung von Anleitungen wird Ihnen helfen, Ihre Ubuntu-Version zu aktualisieren.
Schritt 1 – Python-Umgebung einrichten
Ubuntu 24.04 enthält Python 3 standardmäßig.Öffnen Sie den Terminal und führen Sie den folgenden Befehl aus, um die Installation von Python 3 zu prüfen:
Wenn Python 3 bereits auf Ihrem Rechner installiert ist, wird dieser Befehl die aktuelle Version der Python 3-Installation zurückgeben. Wenn er nicht installiert ist, können Sie den folgenden Befehl ausführen und die Installation von Python 3 erhalten:
Nächstes müssen Sie die Paketinstaller pip
und dev
auf Ihrem System installieren. Führen Sie den folgenden Befehl im Terminal aus:
In diesem Tutorial verwenden wir PostgreSQL als relationale Datenbank. Um mit der PostgreSQL-Datenbank zu interagieren, müssen Sie die libpq-dev
installieren, indem Sie den folgenden Befehl verwenden:
Schritt 2 – Erstellen und Aktivieren des virtuellen Umgebens
Wenn Sie Ubuntu Version < 24.04 verwenden, müssen Sie kein virtuelles Umfeld erstellen. Sie können zu dem nächsten Schritt springen.
Der nächste Schritt besteht darin, ein virtuelles Umfeld innerhalb Ihrer Ubuntu-Installation zu erstellen, um Python-Pakete von Ihrem Systemumfeld zu isolieren. Um dies zu tun, gehen Sie zu Ihrem Arbeitsverzeichnis und führen Sie die folgenden Befehle aus:
Dieser Befehl wird ein neues virtuelles Umfeld in einem Verzeichnis namens fastapi-env
erzeugen. Es wird seine eigene Sammlung von dedizierten Python-Paketen haben, isoliert von anderen Projekten.
Um sicherzustellen, dass die von nun an installierten Pakete innerhalb dieses isolierten Umfeldes installiert werden, müssen Sie es aktivieren, indem Sie ausführen:
Bei der Ausführung wird die Terminalbenachrichtigung mit Ihrem virtuellen Umgebungsnamen als Präfix erkennbar sein, z.B. wie folgt:
Output(fastapi-env) ubuntu@user:
Schritt 3 – PostgreSQL installieren und einrichten
Der nächste Schritt besteht darin, PostgreSQL (oder Ihre Wahl der relationalen Datenbank) zu installieren.
Nun ist es Zeit, den PostgreSQL-Dienst innerhalb Ihrer virtuellen Umgebung zu starten und zu aktivieren.
Sie können den Status des PostgreSQL-Dienstes mit dem Befehl sudo systemctl status postgresql
prüfen. Once the service is enabled, it is automatically started on system boot.
Um PostgreSQL mit FastAPI zu installieren und zu verwenden, müssen Sie einige Dinge installieren:
asyncpg
: Dies ist ein asynchrones PostgreSQL-Treiber, der FastAPI erlaubt, mit einer PostgreSQL-Datenbank zu interagieren.SQLAlchemy
: Dies ist ein ORM-Tool, das Ihnen hilft, Datenbankschemas und Abfragen als Python-Code zu verwalten, anstatt Roh SQL zu schreiben.databases
: Dies ist eine Datenbankbibliothek für asynchrone Operationen, die vonSQLAlchemy
für den asynchronen Betrieb mit FastAPI benötigt werden.
Um diese zu installieren, führen Sie den folgenden konsolidierten Befehl aus:
Der nächste Schritt besteht darin, eine Postgres-Datenbank und einen Benutzer mit den erforderlichen Rechten zu erstellen.
Schritt 4 – Erstellen eines Beispielpython-Anwendungen
Sie benötigen eine ausführbare Python-Anwendung, die über FastAPI auf Ihre Datenbank zugreift. Wenn Sie noch keine laufende Python-Anwendung haben, können Sie schnell eine erstellen, indem Sie die folgenden Schritte ausführen:
Erstellen Sie eine neue Python-Datei mit dem Namen postgres_db.py
in Ihrem Projektverzeichnis.
Im Texteditor schreiben Sie die Logik, um eine Datenbankverbindung zu erstellen und eine Tabelle in der Datenbank zu erstellen. In diesem Beispiel erstellen wir eine PostgreSQL-Datenbankverbindung mit dem databases
-Paket und definieren die Struktur einer books
-Tabelle mithilfe von SQLAlchemy
.
Speichern und schließen Sie die Datei.
Erstellen Sie als Nächstes eine Datei mit dem Namen main.py
im selben Verzeichnis.
Schreiben Sie die Hauptlogik Ihrer Anwendung in diese Datei:
Dieser Code verwendet FastAPI, um neue Bucheinträge in der PostgreSQL-Datenbank zu speichern und die Sammlung von Büchern daraus abzurufen.
Schritt 5 – Erforderliche Bibliotheken installieren
In Ihrer Python-Anwendung verweisen Sie auf verschiedene Bibliotheken und Pakete. Bevor Sie die Anwendung ausführen, stellen Sie sicher, dass die erforderlichen Bibliotheken installiert sind.
Schritt 6 – Python-Anwendung ausführen
Jetzt ist es Zeit, die von Ihnen erstellte Anwendung auszuführen.
uvicorn
ist ein Asynchrones Server Gateway Interface (ASGI), das zur Bereitstellung von FastAPI-Anwendungen verwendet wird. Die Verwendung von uvicorn
ist die bevorzugte Methode, um eine FastAPI-Anwendung auszuführen, da FastAPI selbst ein asynchrones Web-Framework ist.
Wenn der obige Befehl ohne auf einen Fehler zu treffen ausgeführt wird, sehen Sie eine Ausgabe ähnlicherartig dem folgenden:
OutputINFO: Will watch for changes in these directories: ['/path/to/your/project']
INFO: Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO: Started reloader process [XXXX] using StatReload
INFO: Started server process [YYYY]
INFO: Waiting for application startup.
INFO: Application startup complete.
In einem Web-Browser navigieren Sie zu http://127.0.0.1:8000
, um die Abfrage-Ausgabe zu sehen.
Schritt 7 [OPTIONAL] – Testen der Endpunkte
Sie können die in Ihrem main.py
definierten Endpunkte (d.h. POST
und GET
) testen, indem Sie HTTP-Anfragen an den auf http://127.0.0.1:8000
laufenden Server senden.
Ähnlichermaßen können Sie einen GET
-Aufruf an denselben Server tätigen, um die Liste der Bücher, die in Ihrer Postgres-Datenbank vorhanden sind, abzurufen.
Fazit
In diesem Tutorial haben Sie den Prozess beschrieben, wie Sie eine einfache FastAPI-Anwendung einrichten, die mit einer PostgreSQL-Datenbank interagiert. Diese Schritte sind auch für AI-Anwendungen von Vorteil, insbesondere wenn Sie eine Web-API zum Interagieren mit Ihren AI-Modellen oder die Verwaltung von Daten, die mit Ihren AI-Prozessen in Verbindung stehen, aufbauen müssen. Mit dieser Grundlage können Sie Ihre FastAPI-Projekte nun aufbauen und erweitern.
Bleiben Sie aufmerksam auf weitere Artikel über die Arbeit mit FastAPI.
Source:
https://www.digitalocean.com/community/tutorials/use-fastapi-with-relationaldb-ubuntu