Debugging¶
Sie können den Debugger in Ihrem Editor verbinden, zum Beispiel mit Visual Studio Code oder PyCharm.
uvicorn
aufrufen¶
Importieren und führen Sie uvicorn
direkt in Ihrer FastAPI-Anwendung aus:
import uvicorn
from fastapi import FastAPI
app = FastAPI()
@app.get("/")
def root():
a = "a"
b = "b" + a
return {"hello world": b}
if __name__ == "__main__":
uvicorn.run(app, host="0.0.0.0", port=8000)
Über __name__ == "__main__"
¶
Der Hauptzweck von __name__ == "__main__"
ist, dass Code ausgeführt wird, wenn Ihre Datei mit folgendem Befehl aufgerufen wird:
$ python myapp.py
aber nicht aufgerufen wird, wenn eine andere Datei sie importiert, wie in:
from myapp import app
Weitere Details¶
Angenommen, Ihre Datei heißt myapp.py
.
Wenn Sie sie mit folgendem Befehl ausführen:
$ python myapp.py
dann hat in Ihrer Datei die interne Variable __name__
, die von Python automatisch erstellt wird, als Wert den String "__main__"
.
Daher wird der Abschnitt:
uvicorn.run(app, host="0.0.0.0", port=8000)
ausgeführt.
Dies wird nicht passieren, wenn Sie das Modul (die Datei) importieren.
Wenn Sie also eine weitere Datei importer.py
mit folgendem Inhalt haben:
from myapp import app
# Hier mehr Code
wird in diesem Fall in myapp.py
die automatisch erstellte Variable __name__
nicht den Wert "__main__"
haben.
Daher wird die Zeile:
uvicorn.run(app, host="0.0.0.0", port=8000)
nicht ausgeführt.
Info
Für weitere Informationen besuchen Sie bitte die offizielle Python-Dokumentation.
Ihren Code mit Ihrem Debugger ausführen¶
Da Sie den Uvicorn-Server direkt aus Ihrem Code ausführen, können Sie Ihr Python-Programm (Ihre FastAPI-Anwendung) direkt aus dem Debugger aufrufen.
Zum Beispiel können Sie in Visual Studio Code:
- Zum „Debug“-Panel gehen.
- „Konfiguration hinzufügen ...“ auswählen.
- „Python“ auswählen.
- Den Debugger mit der Option „
Python: Current File (Integrated Terminal)
“ ausführen.
Der Server wird dann mit Ihrem FastAPI-Code gestartet, an Ihren Haltepunkten angehalten, usw.
So könnte es aussehen:
Wenn Sie Pycharm verwenden, können Sie:
- Das Menü „Run“ öffnen.
- Die Option „Debug ...“ auswählen.
- Ein Kontextmenü wird angezeigt.
- Die zu debuggende Datei auswählen (in diesem Fall
main.py
).
Der Server wird dann mit Ihrem FastAPI-Code gestartet, an Ihren Haltepunkten angehalten, usw.
So könnte es aussehen: