Automatización de tareas con Make y Makefile en proyectos
Clase 16 de 17 • Curso de Python Profesional: Arquitectura de Proyectos, Entornos y PyPI
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.