Automatización de tareas con Make y Makefile en proyectos

Clase 16 de 17Curso de Python Profesional: Arquitectura de Proyectos, Entornos y PyPI

Resumen

Acelera tu flujo de trabajo con el clásico task runner Make. Define targets reutilizables en un Makefile y ejecuta comandos largos con atajos cortos desde la terminal en Unix y Linux. Con una buena estructura y mensajes claros, reduces errores y ganas consistencia en el desarrollo.

¿Qué es un task runner y por qué usar Make?

Cuando repetimos comandos como instalar dependencias, correr pruebas o formatear código, un task runner evita trabajo manual. Make está presente en la mayoría de sistemas Unix y Linux y permite definir tareas comunes y ejecutarlas con un solo comando.

  • Ahorra tiempo: automatiza tareas repetitivas.
  • Reduce errores: menos comandos escritos a mano.
  • Facilita el trabajo en equipo: todos usan los mismos targets.
  • Comandos cortos: ejecuta con make + nombre de tarea.

¿Cómo crear un Makefile y ejecutar targets install y run?

Crea el archivo con eme mayúscula: Makefile. Define targets como install o run y ejecútalos desde la terminal con: make nombre-de-la-tarea. Make ejecuta exactamente los comandos que declares dentro del target.

¿Cómo definir install para dependencias con @echo?

Agrega un mensaje y la instalación de paquetes. Si no quieres borrar el entorno virtual, elimina esa línea antes de ejecutar.

install:
    @echo "instalando paquetes"
    vsync
  • Mensaje informativo con @echo: muestra “instalando paquetes”.
  • Instalación: el comando vsync se ejecuta automáticamente al correr: make install.

¿Cómo definir run para instalar y probar Platzi News?

Este target encadena dos pasos: instalación local y ejecución de la app con log level de debug.

run:
    vpit install .
    Platzi News log level debug
  • Instalación local: vpit install . construye e instala tu librería.
  • Prueba de la aplicación: Platzi News con log level debug para validar el comportamiento.
  • Atajo útil: con make run no necesitas recordar comandos largos.

¿Qué particularidades del Makefile debes cuidar?

Hay detalles esenciales para que todo funcione sin sorpresas. Respétalos siempre al escribir y ejecutar tus targets.

  • Indentación con Tab: Make requiere tabuladores, no espacios.
  • Mensajes con @echo: imprime textos útiles como “instalando paquetes”.
  • Ayuda con make help: ideal para mostrar cómo ejecutar los comandos del proyecto.
  • Ejecución directa: make nombre-de-tarea corre lo que definiste en el Makefile.

¿Qué otros targets agregarías a tu Makefile para tu flujo diario? Comparte tus ideas y ejemplos en los comentarios.