Duda sobre como crear archivos setup.py con archivos adicionales .png

Hugo Ruscitti hugoruscitti en gmail.com
Jue Feb 1 21:44:48 CET 2007


Saludos, hace varios días estoy intentando generar archivos setup.py
para distribuir junto a mi programa pero aún no he podido reproducir
lo que deseo a la hora de instalar el programa:

Quisiera que mi programa cuente con un directorio donde reside el código
fuente, y otros dos directorios donde residen archivos '.glade' y '.png'.

El punto, es que puedo escribir el archivo 'setup.py' pero este excluye
los archivos adicionales que no son código fuente al momento de realizar
la instalación en un sistema.

A continuación muestro una vista reducida del árbol de directorios
con el que realizo pruebas al respecto:

programa/
    setup.py
    tiles/
        __init__.py
        main.py
        glade/
            main.glade
        pixmaps/
            about.png
        bin/
            tiles (script ejecutable)


y mi archivo setup.py es similar al siguiente:

    from setuptools import find_packages
    from setuptools import setup

    setup(
        name="tiles",
        packages=find_packages(),
        package_data={"": ["*.glade", "*.png"]},
        scripts=["bin/tiles"]
    )

al parecer 'python setup.py install' copia solamente los archivos
de fuentes a '/usr/lib/python2.4/site-packages/tiles-0.0.0-py2.4.egg' pero
no copia los archivos de recursos (.glade y .png) a ningún sitio.
Realizando varias pruebas lo mas cercano fue incluir los archivos
adicionales en el
mismo directorio de los paquetes o "simular" que los directorios 'glade' y
'pixmaps' son paquetes, incluyendo un archivo "__init__.py" a cada uno.

Luego el comando 'python setup.py sdist' genera un archivo en formato
'.tar.gz' pero también excluye a los archivos '.glade' y '.png'

¿Podrían recomendarme ejemplos de archivos 'setup.py' o documentación al
respecto?, insisto en que mi problema es a causa de los archivos adicionales,
y como responde el sistema de instalación. Me agradaría tener un esquema mas
similar al que podía utilizar mediante las 'autotools' de GNU, ¿se acostumbra
a utilizar eso en Python?

Desde ya, muchas gracias por su atención.


-- 
Hugo Ruscitti
www.losersjuegos.com.ar




Más información sobre la lista de distribución Python-es