[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
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