[Distutils] Role of setuptools and eggs in "modern" distributing...

Reinout van Rees reinout at vanrees.org
Tue Dec 30 23:21:00 CET 2014

Chris Barker schreef op 23-12-14 om 18:36:
> I'm trying to package up a complex system and would like to do it the
> correct, modern way.
> In particular, this involves a bunch of compiled extensions, as well as
> dependencies on both the scientific "stack" and common Web app packages.
> (can you tell I'm building a web service front-end for computational code?)
> This is actually a bit of a trick, because the web development community
> is generally doing a good job up supporting PyPi and pip, whereas the
> complications of the scientific software tools have folks relying more
> on tools like Enthought and Continuum.
> So far, we've been doing mostly pip and struggling with build our own
> for the ugly scientific stuff (whoo hoo, fun with HDF and netcdf, and
> GDAL, and....). But at the end of all this we'd like to be able to
> distribute and make it easy on end users to use our tools.

Well, we're in a bit of the same boat here. We make django websites, 
which means pretty much well-behaved setup.py-using pure python stuff.

The websites are heavy users of numpy/scipy/pandas/matplotlib and of the 
geo packages like gdal/mapnik/pyproj. Ouch.

The combination we use now is to use buildout (instead of pip) in 
combination with the "syseggrecipe" 
(https://pypi.python.org/pypi/syseggrecipe) buildout add-on. 
Syseggrecipe allows us to depend explicitly on **system** packages for 
gdal/matplotlib/mapnik/scipy/numpy. Which takes care of most of the 
compilation headaches.

The rest of the huge python package stack is just pulled in regularly by 
buildout (using setuptools).

Just throwing this into the mix as a potential solution. Note that 
you'll get to explain buildout to your users, but... :-)


Reinout van Rees                          http://reinout.vanrees.org/
reinout at vanrees.org                   http://www.nelen-schuurmans.nl/
"Learning history by destroying artifacts is a time-honored atrocity"

More information about the Distutils-SIG mailing list