Hacer un huevo con Python

Introducción

Lo normal sería «no hacer ni el huevo», pero no esto lo que pretendo con este artículo. Los huevos en Python (Python eggs) son módulos de Python empaquetados con información a cerca de le los módulos de los que depende, la versión, y otros datos parecidos. Los huevos, se almacenan en un repositorio central donde se pueden descargar esos módulos. Este repositorio se llama Cheese Shop.

Para construir un huevo se utiliza el módulo «setuptools» pero antes es necesario crear un fichero «setup.py» con la información necesaria de nuestro paquete. Primeramente es necesario organizar el directorio de donde cuelga nuestro paquete. Para ello es necesario crear un archivo __init__.py, en el interior del directorio principal. Superior a este directorio, se encuentra setup.py:

somedir/
    setup.py
    hello/
        __init__.py
        hello.py

Así es como tiene que quedar nuestra distribución de archivos. Ahora tenemos que preparar setup.py:

import ez_setupez_setup.use_setuptools()
from setuptools import setup, find_packages
VERSION=`1.0`
DESCRIPTION=`Whatever`
LONG_DESCRIPTION=`Whatever`
CLASSIFIERS = filter(None, map(str.strip,"""Intended Audience :: DevelopersProgramming Language :: PythonTopic :: Internet :: WW/HTTP""".splitlines()))
setup( name="whatever", version=VERSION, description=DESCRIPTION, long_description=LONG_DESCRIPTION, license="GPL", classifiers=CLASSIFIERS, author="yo", author_email="yo@email.com, url="https://atareao.es", packages =[`package`], entry_points="""[]  """, scripts = [`ez_setup.py`], platforms=[`any`], install_requires="simplejson"

Entre estos parámetros, podemos destacar los siguientes:
* packages: con él indicaremos la lista de paquetes que distribuiremos en este huevo. En general, será una lista de directorios del código fuente del huevo
* entry_points: habrá que poner especial atención a este parámetro. Mediante él indicaremos qué modulos podrá importar un programador de nuestro paquete,
* scripts: listado de scripts que irán adjuntos al paquete. Notese que el script “ez_setup.py” es utilizado en nuestro “setup.py” por lo que es interesante asegurarnos de que quien instala nuestro huevo, cuenta con este módulo,
* install_requires: con él se indican los módulos (incluso las versiones de ellos) de los que depende nuestro huevo.

Para construir el huevo bastará con ejecutar el script “setup.py” con los parámetros adecuados:

python setup.py bdist_egg

De esta manera ya está construido el nuevo huevo. Ahora se puede subir a la tienda de los quesos.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *