Saltar a contenido

Depuración

🌐 Traducción por IA y humanos

Esta traducción fue hecha por IA guiada por humanos. 🤝

Podría tener errores al interpretar el significado original, o sonar poco natural, etc. 🤖

Puedes mejorar esta traducción ayudándonos a guiar mejor al LLM de IA.

Versión en inglés

Puedes conectar el depurador en tu editor, por ejemplo con Visual Studio Code o PyCharm.

Llama a uvicorn

En tu aplicación de FastAPI, importa y ejecuta uvicorn directamente:

importuvicorn
fromfastapiimport FastAPI
app = FastAPI()
@app.get("/")
defroot():
 a = "a"
 b = "b" + a
 return {"hello world": b}
if __name__ == "__main__":
 uvicorn.run(app, host="0.0.0.0", port=8000)

Acerca de __name__ == "__main__"

El objetivo principal de __name__ == "__main__" es tener algo de código que se ejecute cuando tu archivo es llamado con:

$ pythonmyapp.py

pero no es llamado cuando otro archivo lo importa, como en:

frommyappimport app

Más detalles

Supongamos que tu archivo se llama myapp.py.

Si lo ejecutas con:

$ pythonmyapp.py

entonces la variable interna __name__ en tu archivo, creada automáticamente por Python, tendrá como valor el string "__main__".

Así que, la sección:

 uvicorn.run(app, host="0.0.0.0", port=8000)

se ejecutará.


Esto no ocurrirá si importas ese módulo (archivo).

Entonces, si tienes otro archivo importer.py con:

frommyappimport app
# Algún código adicional

en ese caso, la variable creada automáticamente __name__ dentro de myapp.py no tendrá el valor "__main__".

Así que, la línea:

 uvicorn.run(app, host="0.0.0.0", port=8000)

no se ejecutará.

Nota

Para más información, revisa la documentación oficial de Python.

Ejecuta tu código con tu depurador

Dado que estás ejecutando el servidor Uvicorn directamente desde tu código, puedes llamar a tu programa de Python (tu aplicación FastAPI) directamente desde el depurador.


Por ejemplo, en Visual Studio Code, puedes:

  • Ir al panel de "Debug".
  • "Add configuration...".
  • Seleccionar "Python"
  • Ejecutar el depurador con la opción "Python: Current File (Integrated Terminal)".

Luego, iniciará el servidor con tu código FastAPI, deteniéndose en tus puntos de interrupción, etc.

Así es como podría verse:


Si usas PyCharm, puedes:

  • Abrir el menú "Run".
  • Seleccionar la opción "Debug...".
  • Luego aparece un menú contextual.
  • Selecciona el archivo para depurar (en este caso, main.py).

Luego, iniciará el servidor con tu código FastAPI, deteniéndose en tus puntos de interrupción, etc.

Así es como podría verse:

AltStyle によって変換されたページ (->オリジナル) /