Saltar al contenido principal

📋 Archivo requirements.txt para Python

El archivo requirements.txt es el estándar de la industria para especificar y gestionar dependencias en proyectos Python. Esta guía muestra cómo crear, configurar y usar requirements.txt para garantizar la consistencia entre los entornos de desarrollo y producción.

¿Qué es un archivo requirements.txt?

Un archivo requirements.txt lista todos los paquetes externos de Python que tu proyecto necesita, con sus versiones específicas. Esto permite:
  • Que tú y tu equipo mantengan entornos idénticos
  • Que los nuevos colaboradores reproduzcan el entorno exactamente
  • Que el deploy en Square Cloud funcione con las dependencias correctas

1

Activa el entorno virtual

Trabajar dentro de un entorno virtual es esencial para mantener las dependencias de tu proyecto aisladas del sistema Python global. Esto evita conflictos de versiones y garantiza la reproducibilidad.Activa tu entorno virtual con uno de los comandos de abajo, según tu sistema:Windows:
venv\Scripts\activate
macOS/Linux:
source venv/bin/activate
2

Lista las dependencias del proyecto

Especifica siempre versiones exactas con == para garantizar la reproducibilidad y evitar rupturas causadas por actualizaciones incompatibles en producción.

Opción A: Crearlo manualmente (Recomendado)

Crea un archivo requirements.txt en la raíz de tu proyecto y lista todos los paquetes externos con sus versiones:
requirements.txt
discord.py==2.3.0
requests==2.31.0
python-dotenv==1.0.0

Opción B: Generarlo automáticamente con pip freeze

Después de instalar las dependencias en tu entorno virtual, puedes generar el archivo automáticamente. Hay dos formas principales:Opción B1: Usar pip freeze (incluye todo)
pip freeze > requirements.txt
Precaución: pip freeze incluye todos los paquetes instalados globalmente, lo que puede incluir paquetes innecesarios para tu proyecto. Revisa el archivo después de generarlo y elimina las dependencias que no sean estrictamente necesarias.
Opción B2: Usar pipdeptree o pip freeze con filtrado (Recomendado)Para capturar SOLO las dependencias de tu proyecto (sin los paquetes auxiliares del entorno), usa:
pip freeze --user > requirements.txt
O, para una solución más limpia, instala pipdeptree:
pip install pipdeptree
pipdeptree -p your_project > requirements.txt
Alternativa: Usa una verificación de lista manual o comprueba qué paquete se instaló específicamente para tu proyecto:
pip list | grep -i "your-package"
Si estás trabajando en un entorno virtual (recomendado), pip freeze funcionará perfectamente ya que el entorno estará aislado y contendrá solo las dependencias de tu proyecto.
3

Revisa y valida las dependencias

Abre el archivo requirements.txt en tu editor de texto y:
  1. Revisa la lista de paquetes
  2. Elimina las dependencias innecesarias
  3. Actualiza las versiones según sea necesario
  4. Asegúrate de usar versiones exactas (con ==)
4

Instala las dependencias

Para instalar todas las dependencias listadas:
pip install -r requirements.txt
Este comando garantiza que todos los colaboradores y los entornos de producción usen exactamente las mismas versiones.
5

Versiona y comparte

Con requirements.txt listo, puedes:
  • Compartirlo con tu equipo
  • Ponerlo bajo control de versiones (git)
  • Asegurar que todos trabajen con las mismas versiones
  • Simplificar el deployment en Square Cloud
Cuando alojas tu proyecto en Square Cloud, el archivo requirements.txt se detecta automáticamente y todas las dependencias se instalan durante el build.

💡 Buenas prácticas y consejos:

  • Mantenlo actualizado: Revisa y actualiza requirements.txt con regularidad a medida que añades nuevas dependencias
  • Usa versiones exactas: Usa siempre == en lugar de >, >= o ninguna versión para evitar sorpresas en producción
  • Revisa pip freeze: Si usas pip freeze, revisa el archivo antes de confirmarlo, ya que puede incluir paquetes auxiliares innecesarios
  • Control de versiones: Confirma requirements.txt en git para rastrear los cambios de dependencias
  • Entorno aislado: Mantén un entorno virtual por proyecto para evitar conflictos globales
  • Prueba localmente: Antes de hacer el deploy, prueba el archivo con pip install -r requirements.txt en un entorno nuevo

🚀 Próximos pasos

Con tu archivo requirements.txt configurado:
  1. Confírmalo en tu repositorio Git.
  2. Aloja tu proyecto en Square Cloud.
  3. Configura el deploy automático mediante GitHub.
  4. ¡Bienvenido al hosting profesional de aplicaciones Python!
Un archivo requirements.txt bien estructurado es la base de cualquier aplicación Python exitosa, garantizando que tu aplicación funcione perfectamente en Square Cloud.