[AstroPy] Deployment and packaging
perry at stsci.edu
Tue Jun 14 21:12:05 EDT 2011
Indeed a very important topic (the most important in my view). I don't
have time to go into details but a few comments are inserted below.
On Jun 14, 2011, at 8:43 PM, Tom Aldcroft wrote:
> In the extensive recent discussions there has been only slight mention
> of the problems in package deployment and the related issue of
> multiple Python installations. It's common practice now for large
> tool packages like CIAO, CASA, STSci_Python etc to provide binary
> installs which include Python, the relevant tools and other package
> dependencies. These sit next to other installations like the native
> Python, EPD, Mac ports or Mac homebrew, SciSoft, etc. This is an
> annoyance for developer types but can be a showstopper for astronomers
> who wonder why the script they got from their collaborator won't run.
> I recently heard someone state that she purposely avoids using 3rd
> party astro packages so that her code will run on different
> installations. Given the current situation this is an unfortunate but
> understandable strategy.
> To that end I've added a new topic "Packaging and Deployment" to the
> AstroPy developers wiki. Like many other topics this is not easy, but
> I invite comments now and participation in future discussions. The
> list below starts with basic ideas for yet another Python
> distribution, and ends with the two hard parts:
> - Base Python binary installation with NumPy, SciPy, matplotlib
But how to distribute binaries? And what about non-Python tools that
are useful in the suite of astronomical tools?
> - Optional full install that includes "everything", ala EPD
> - Support for linux x86, x86_64, MacOS 10.5+ (with Windows at a
> lower priority)
> - Non-root, movable, installation which is contained in a single
> - Package management tools to upgrade some / all packages to latest
> on PyPI
> - IMPORTANT: buy-in from developers to distribute "pip installable"
> packages on PyPI
We are already working on this. But I can't reiterate enough, doing
this does not solve many of the important installation problems.
Things can be in PyPI, use one of the standard Python distribution
tools properly, and still not install reliably.
> - IMPORTANT: buy-in from developers of large tool packages to use this
> distribution instead of rolling their own.
But the most important item is missing from the list. Any guesses?
> Apart from the last two (important) points, everything in the list is
> already exists in one form or another, e.g. sage, ActivePython, and
> probably James Turner's distribution-in-work. Sage is really bloated
> and I much prefer ActivePython (which is of course a commercial
> product and therefore not entirely suitable to this purpose).
Sage is unsuitable for our needs as a distribution (but it does have
some nice tools and approaches for distribution).
More information about the AstroPy