At 01:31 PM 2/9/2006 -0600, Robert Kern wrote:
Andrew Straw wrote:
Note that matplotlib tried essentially this for a while, but apparently some folks really didn't like it. I'm not sure what exactly broke on their systems (they didn't complain to the mailing list), but when setup.py reverted to a plain distutils script, they cheered.
That's right, they complained to me, instead. :-)
The issue was that they had setuptools on their system because they were building eggs for another project, but specifically *didn't* want to install matplotlib as an egg.
setuptools-based packages can be forced to install the old-fashioned way using: setup.py install --single-version-externally-managed as long as you also specify a --root directory or a --record file. This is of course not upgradeable or uninstallable without help from a packaging tool that can utilize the results of --root or --record. (This is covered in the "What Your Users Should Know" section of the setuptools manual, btw, under the subheading "Creating System Packages".) If somebody could write a standalone version of the What Your Users Should Know section that everybody can link to, that would likely help resolve these problems sooner. (I'll get to it eventually if nobody else does.) Setuptools now has most of the features that are needed to get used in these situations, but the information that end users need isn't quickly accessible from the current docs. This is a really good place to be, relatively speaking, as it means a lot of progress has been made: the stuff works and it's actually documented, too! It's just buried in reference docs and developer guides for people who actively *want* to use the tools, and not pulled out in a quick reference form good enough for busy folks who just want to *use* a package that just happens to be based on setuptools.