VSCode- und FastAPI-Debugging – bricht nicht innerhalb von Routen abPython

Python-Programme
Anonymous
 VSCode- und FastAPI-Debugging – bricht nicht innerhalb von Routen ab

Post by Anonymous »

Ich fange gerade erst mit FastAPI an, habe aber Probleme damit, es dazu zu bringen, Haltepunkte im VSCode-Debugger zu erkennen. Das Seltsame ist, dass es erfolgreich Zeilen abbricht, die nicht in Routen enthalten sind
Direkt aus dem Tutorial ziehen: https://fastapi.tiangolo.com/tutorial/debugging/

Code: Select all

import uvicorn
from fastapi import FastAPI

app = FastAPI()  # breakpoint here works on launching file
print('here')    # breakpoint here works on launching file

@app.get("/")
def root():
a = "a"   # breakpoint here does NOT work
b = "b" + a
return {"hello world": b}  # returns data successfully

if __name__ == "__main__":
uvicorn.run(app, host="0.0.0.0", port=5002)
Wie oben erwähnt, funktionieren die Leitungen außerhalb der Routen einwandfrei, und wenn ich zur Adresse gehe, erhalte ich die Daten erfolgreich, aber der Haltepunkt innerhalb der Route wird nicht ausgelöst. Ich bin mir nicht sicher, was mir hier fehlt. Habe verschiedene Lösungen aus der Debug-FastAPI-Anwendung in VSCode ausprobiert.
Ich bin mir nicht sicher, ob dies einen Unterschied macht, aber dies läuft auch über die Remote-SSH-Erweiterung auf VSCode (mein Code befindet sich auf einer gcloud-VM). Vielleicht trägt das dazu bei, aber auch die anderen Haltepunkte funktionieren einwandfrei.
Mein launch.json:

Code: Select all

{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Python: Current File",
"type": "python",
"request": "launch",
"program": "${file}",
"console": "integratedTerminal"
}
]
}
BEARBEITEN: Sieht so aus, als würde es funktionieren, wenn ich „def“ durch „async def“ ersetze, obwohl ich versuche, dies mit einer SQLite-Datenbank zum Laufen zu bringen, und auf dieser Seite: https://fastapi.tiangolo.com/tutorial/sql-databases/ wird empfohlen, standardmäßig „def“ zu verwenden (mit Optionen zum Konfigurieren der Verwendung von async def). Ich muss mir den Unterschied noch genauer ansehen.

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post