Redistribución¶
En este bloque se tratan los casos de estudio relacionados con la redistribución del software y las diferentes formas de hacerlo:
- Sistemas de control de versiones y correcto uso.
- Creación de paquetes.
- Inclusión en repositorios públicos.
- Creación de binarios.
- Portabilidad entre sistemas.
RD-001 - Inclusión de dependencias externas¶
Problema¶
Mi proyecto tiene dependencias y no se cómo hacer que sean fácilmente instalables para que se puede redistribuirlos de forma sencilla.
Solución¶
Usar pip + el fichero requirements.txt.
- Pip es un gestor de paquetes Python, al más puro estilo “apt-get” de Debian.
- requirements.txt: Fichero donde se detallan todas las dependencias del proyecto.
Cómo¶
En este link se puede encontrar el ejemplo: Ejemplo requirements.txt
Para instalar todas las dependencias usando pip:
pip -r requirements.txt
RD-002 - Sandbox y entornos virtuales¶
Problema¶
Las dependencias entre proyectos y tener que instalarlo todo en el sistema lo “ensucia” y hace que todo sea un caos.
Solución¶
Usar virtualenv:
- Virtualenv: es una “sandbox” donde se instalarán todas las dependencias de tu software.
- Además, podemos usar virtualenvwrapper, para añadir más funcionalidad y utilidades a virtualenv.