[pyar] Distribuyendo un proyecto en Python

Mariano Reingart reingart en gmail.com
Sab Mayo 14 00:14:50 ART 2011


2011/5/13 Facundo Batista <facundobatista en gmail.com>:
> Estoy por armar un setup.py... quiero saber qué es lo más piola/nuevo,
> en lugar de copiar algo que por ahí se dejó de usar o cambió...
>
> Mi idea es generar un .tar.gz, armar un PPA en Launchpad (para esto no
> influye) y más adelante armar un paquete para windows (acá
> probablemente sí).
>
> Encuentro estas opciones:
>
> - El clásico distutils:  http://docs.python.org/distutils/setupscript.html
>
> - Lo mismo, pero "extra" (wtf?):
> http://www.glatzor.de/projects/python-distutils-extra/
>
> - Setuptools: http://packages.python.org/an_example_pypi_project/setuptools.html
>
> - La evolución de eso: Distribute: http://packages.python.org/distribute/
>
> ¿Alguien la tiene clara en este universo? ¿Qué me recomiendan? El
> proyecto es pure-python, aunque depende de algunos módulos no
> triviales (pygtk, xdg, twisted, zope.testbrowser, y mechanize).
>
> Me encantaría algo simple y que funcione, pero creo que es pedir demasiado :|
>

Si, IMHO me parece que no hay "silver bullet", te puedo dar mi
experiencia con factura electronica:

Sobre paquetes "universales" para linux mucho no te puedo decir, ya
que desistí de armarlos porque mas allá de los casos "triviales" (ej,
.deb para debian/ubuntu), hacer algo simple que sea util tambien para,
por ej, redhat o gentoo es muy dificil (y eso que uso librerías
relativamente más "faciles": wxpython, httplib2, openssl/m2crypto),
creo que viene de la gran dispersión de versiones de python y la
imposibilidad de compilar estaticamente de manera compatible, por lo
que para mi no justificaba el esfuerzo.

Para windows, no creo que haya muchas opciones a py2exe (que es
"compatible" con distutils), si bien esta cx_freeze que en teoria
también armaría binarios para linux, no lo he probado y su
página/documentación/etc. no es muy alentadora.
Igualmente si usas python>2.7, en windows es necesario instalar los
runtimes de msvc, cosa que complica aun mas los instaladores, al punto
de romperlos (no por culpa de python, sino por la complicada
instalación de los assemblies de .net y todo ese rollo).

Dicho esto, y sobre todo si es un modulo comun y corriente (python),
¿cual sería el problema con distutils?
¿No hace todo y hasta genera los rpm e instaladores para windows?
http://docs.python.org/distutils/index.html

¿Alguien tiene alguna mejor/peor experiencia?

Sds

Mariano Reingart
http://www.sistemasagiles.com.ar
http://reingart.blogspot.com



More information about the pyar mailing list