Esto en teoría suena sencillo, sin embargo que sucede con el usuario común que no sabe de programación, en pocas palabras el usuario final, ese tipo de usuario lo único que quiere es hacer doble click sobre el programa y que este a través de un wizard se instale automáticamente.
También tenemos otro caso, si nuestro programa va es dirigido a programadores, generalmente lo que se quiere es correr algún asistente a un nivel más bajo que nos permita obtener las funciones del programa.
Distutils
Distutils es la herramienta que nos permite hacer un empacado de nuestro programa, de forma que utilizando un simple archivo setup.py, podamos instalar nuestros módulos, de una forma sencilla y automatizada, eliminando de esta forma los errores humanos o disminuyendo estos errores lo más posible.
La creación de este archivo setup es muy simple basta con escribir un código como el siguiente y tendríamos una base:
from distutils.core import setup setup(name='Hello', version='1.0', description='Un Ejemplo author='Tutorial Python py_modules=['hello'])
Esta información no es necesario que se coloque completa, sin embargo es una buena práctica documentar lo más posible nuestro programa, de forma que no nos roben los créditos, o al menos no tan fácil.
El código que acabamos de ver debemos salvarlo en un archivo llamado setup.py y en el mismo directorio debe haber un archivo llamado hello.py, que corresponde al nombre del módulo que queremos instalar.
Ahora solo debemos correr nuestro setup.py de la siguiente forma:
python setup.py
Deberíamos ver una salida como la que mostramos en la siguiente imagen:
Ahora sabemos que necesitamos pasar un argumento al archivo, probemos el siguiente:
python setup.py build
Esto nos debería arrojar algo similar a lo que vemos en la siguiente imagen:
¿Qué ha sucedido? Es simple, ya nuestro módulo está disponible para la instalación de Python donde hemos hecho el build, esto hace que todas las funciones puedan ser utilizadas solo incluyendo dicho módulo.
Si corremos el comando install en vez del comando build, el build se hará automáticamente, veamos como ejecutarlos y luego una imagen con el resultado que nos debería arrojar la consola Python.
python setup.py install
Como pudimos visualizar esto es un proceso automatizado, que nos permite distribuir nuestro programa y luego poderlo instalar de forma sencilla, disminuyendo la interacción humana, lo que conlleva una disminución de los errores.
Debemos tomar en cuenta un aspecto importante, si queremos desinstalar los módulos, debemos hacerlo de forma manual, ya que no existe un comando uninstall, por lo que si estamos realizando pruebas y no queremos llenar nuestra instalación de Python debemos tomar esto en cuenta.
Por último y para finalizar es importante destacar que debemos tener plenos permisos y privilegios en el sistema para llevar a cabo las operaciones mostradas en este tutorial.