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 conpython -m pip install fastapi uvicorn
opython3 -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.
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 archivomain.py
app
: Use la variableapp
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