2016-09-20

Python3 Package

En el LabExp de la Sede InterUniversitaria de Alajuela, como parte del equipo de desarrollo del LibreScan, se inició a trabajar en una forma para poder empaquetar el programa facilitando su distribución. Este trabajo se realizó en dos partes, empaquetando primero la aplicación de python3 para después empaquetar el resto como un paquete de Debian. La primera parte del trabajo se termino con éxito, mientras que la segunda parte aún no se ha completado.

A continuación se va a hacer referencia a los resultados de la primera parte del trabajo.

Resumen:

Inicialmente se investigó la manera de como un paquete de python funcionaba, de ante mano se conocía que el programa debía utilizar un archivo de configuración llamado "setup.py" por lo que la investigación comenzó con la búsqueda del funcionamiento de este archivo.

Una vez comprendido el funcionamiento del archivo "setup.py" iniciaron una serie de pruebas para ver como las configuraciones del mismo repercutían en el empaquetado final.

Problemas:

  • Inicialmente no se comprendía el funcionamiento de un paquete, debido a esto no se entendía la información que se encontraba acerca de como debía ser empaquetado.

  • Una vez que se logró entender el funcionamiento del archivo de configuración, surgieron problemas con las dependencias de la aplicación, donde al agregar dichas dependencias en la configuración no eran reconocidas. Generando que no se lograra empaquetar la aplicación. El error se presentaba en la biblioteca "Distutils", la cual no se lograba conectaba con PyPi(Python Package Index), al final se logró solucionar utilizando una biblioteca diferente llamada "Setuptools".

Aplicaciones:

Al haber un empaquetamientio se logra facilitar la distribución de una aplicación y un paquete o modulo en Python3, ya que no se necesita instalar cada una de las bibliotecas por separado. Con el empaquetamiento lo que se busca es que solo con una descarga e instalación se logre tener todo lo necesario para el programa o modulo.

Si se quiere realizar este trabajo, se recomienda seguir la guía realizada por el equipo. Donde se especifica el contenido y funcionamiento de cada archivo necesario, además de como crear el paquete, instalarlo y ejecutarlo.