Introducción a FastAPI y configuración

Intermedio
FastAPI
FastAPI
Actualizado: 01/07/2025

¡Desbloquea el curso completo!

IA
Ejercicios
Certificado
Entrar

Instalación de FastAPI y Uvicorn

Para comenzar a desarrollar con FastAPI, necesitamos instalar dos componentes esenciales: el propio framework FastAPI y Uvicorn, que actuará como nuestro servidor ASGI. ASGI (Asynchronous Server Gateway Interface) es el estándar que permite a FastAPI manejar peticiones de forma asíncrona y eficiente.

Verificación de Python

Antes de proceder con la instalación, asegúrate de tener Python 3.13 instalado en tu sistema. Puedes verificarlo ejecutando el siguiente comando en tu terminal o línea de comandos:

python --version

Si el comando anterior no funciona, prueba con:

python3 --version

Deberías ver una salida similar a Python 3.13.x. Si no tienes Python 3.13 instalado, descárgalo desde el sitio oficial de Python antes de continuar.

Instalación mediante pip

pip es el gestor de paquetes estándar de Python que nos permite instalar librerías desde el Python Package Index (PyPI). Para instalar FastAPI y Uvicorn, ejecuta el siguiente comando:

pip install fastapi uvicorn

Si estás en un sistema donde necesitas especificar Python 3, utiliza:

pip3 install fastapi uvicorn

Este comando instalará automáticamente:

  • FastAPI: El framework web moderno y rápido
  • Uvicorn: El servidor ASGI que ejecutará nuestra aplicación
  • Todas las dependencias necesarias: Incluyendo Pydantic para validación de datos y Starlette como base del framework

Verificación de la instalación

Para confirmar que la instalación se completó correctamente, puedes verificar las versiones instaladas:

pip show fastapi
pip show uvicorn

Estos comandos mostrarán información detallada sobre los paquetes instalados, incluyendo la versión. FastAPI v0.115 incluye mejoras significativas en rendimiento y nuevas características que utilizaremos a lo largo del curso.

Posibles problemas y soluciones

Si encuentras errores durante la instalación, aquí tienes las soluciones más comunes:

  • Error de permisos: En algunos sistemas, especialmente macOS y Linux, podrías necesitar usar sudo antes del comando pip, aunque no es la práctica recomendada.

  • Comando pip no encontrado: Si pip no es reconocido, prueba con python -m pip install fastapi uvicorn o python3 -m pip install fastapi uvicorn.

  • Versión antigua de pip: Actualiza pip con pip install --upgrade pip antes de instalar FastAPI.

Una vez completada la instalación, tendrás todo lo necesario para crear tu primera aplicación FastAPI. En la siguiente sección crearemos nuestro primer "Hello World" y lo ejecutaremos usando Uvicorn.

Creación del primer "Hello World"

Guarda tu progreso

Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.

Progreso guardado
Asistente IA
Ejercicios
Iniciar sesión gratis

Más de 25.000 desarrolladores ya confían en CertiDevs

Ahora que tenemos FastAPI y Uvicorn instalados, vamos a crear nuestra primera aplicación web. Comenzaremos con el ejemplo más básico: un "Hello World" que responda a las peticiones HTTP.

Estructura del proyecto

Crea una nueva carpeta para tu proyecto y dentro de ella un archivo llamado main.py. Este será el punto de entrada de nuestra aplicación:

mi_proyecto_fastapi/
└── main.py

Código del Hello World

Abre el archivo main.py en tu editor de texto favorito y escribe el siguiente código:

from fastapi import FastAPI

# Crear una instancia de la aplicación FastAPI
app = FastAPI()

# Definir una ruta básica
@app.get("/")
def read_root():
    return {"message": "Hello World"}

Este código hace tres cosas fundamentales:

  • Importa FastAPI: Traemos la clase principal del framework
  • Crea la aplicación: La variable app es nuestra aplicación web
  • Define una ruta: El decorador @app.get("/") indica que esta función responderá a peticiones GET en la ruta raíz

Explicación del código

La función read_root() es lo que llamamos un path operation function. Cuando alguien visite la URL base de nuestra aplicación, FastAPI ejecutará esta función y devolverá el diccionario como respuesta JSON.

El decorador @app.get("/") tiene dos partes importantes:

  • get: Especifica el método HTTP (GET, POST, PUT, DELETE, etc.)
  • "/": Define la ruta o path donde estará disponible esta función

Ejecutar la aplicación

Para poner en marcha nuestro servidor de desarrollo, abre una terminal en la carpeta donde guardaste main.py y ejecuta:

uvicorn main:app --reload

Este comando le dice a Uvicorn que:

  • main: Busque el archivo main.py
  • app: Use la variable app como aplicación ASGI
  • --reload: Reinicie automáticamente cuando detecte cambios en el código

Verificar que funciona

Si todo va bien, verás una salida similar a esta en tu terminal:

INFO:     Uvicorn running on http://127.0.0.1:8000 (Press CTRL+C to quit)
INFO:     Started reloader process [12345] using StatReload
INFO:     Started server process [12346]
INFO:     Waiting for application startup.
INFO:     Application startup complete.

Ahora abre tu navegador web y visita http://127.0.0.1:8000 o http://localhost:8000. Deberías ver:

{"message": "Hello World"}

Documentación automática

Una de las características más útiles de FastAPI es que genera documentación automática. Sin escribir código adicional, puedes acceder a:

  • Swagger UI: Visita http://127.0.0.1:8000/docs
  • ReDoc: Visita http://127.0.0.1:8000/redoc

Estas interfaces te permiten probar tu API directamente desde el navegador y ver toda la documentación generada automáticamente.

Detener el servidor

Para detener el servidor de desarrollo, simplemente presiona Ctrl+C en la terminal donde está ejecutándose Uvicorn. Verás un mensaje confirmando que el servidor se ha detenido correctamente.

Con esto ya tienes tu primera aplicación FastAPI funcionando. Has creado un endpoint que responde con un mensaje JSON y has aprendido cómo ejecutar y probar tu aplicación usando Uvicorn.

Aprendizajes de esta lección

  • Instalar FastAPI y Uvicorn correctamente en un entorno con Python 3.13.
  • Comprender la estructura básica de un proyecto FastAPI y el código para definir rutas.
  • Ejecutar una aplicación FastAPI usando Uvicorn como servidor ASGI.
  • Verificar el funcionamiento de la aplicación mediante el navegador y la documentación automática.
  • Identificar y solucionar problemas comunes durante la instalación y ejecución.

Completa FastAPI y certifícate

Únete a nuestra plataforma y accede a miles de tutoriales, ejercicios prácticos, proyectos reales y nuestro asistente de IA personalizado para acelerar tu aprendizaje.

Asistente IA

Resuelve dudas al instante

Ejercicios

Practica con proyectos reales

Certificados

Valida tus conocimientos

Más de 25.000 desarrolladores ya se han certificado con CertiDevs

⭐⭐⭐⭐⭐
4.9/5 valoración