[Distutils] Distribute and setuptools: what are the differences

Reinout van Rees reinout at vanrees.org
Tue Oct 13 14:05:03 CEST 2009

On 2009-10-13, Michael Whapples <mwhapples at aim.com> wrote:
> Hello,
> I realise I may be starting something I would prefer not to (looking at 
> some of the replies of the announcement of setuptools 0.6c10), so I 
> would like to ask that this tries to stay as a factual thing rather than 
> a "having a go at the other".
> As it seems that setuptools is not "dead" just possibly a bit slow at 
> being updated,

Setuptools has effectively been dead for a year.  Critical patches were not
being applied and there was no hope (till a few days ago) of ever getting them
fixed.  This goes way beyond "a bit slow at being updated".

> could I ask what are the aims of the various projects 
> setuptools and distribute (please try and keep this information 
> restricted to your project and what it aims to do)? 

Setuptools being completely dead (till a few days ago), distribute's aim was
basically just to have a working setuptools.

So: no differences, except that patches have been applied (and iirc one useful
non-intrusive addition of being able to upload sphinx docs to pypi).

> It would be nice to 
> have this information as at the moment its a bit unclear what either 
> really are trying to offer over the other. I would like to be able to 
> make a fully informed choice on why use one over the other, I feel at 
> the moment this isn't possible.

Technically both are the same (not looking at the bugfixes).  The choice is
between open source development and project management styles: PJE's
setuptools and Tarek-and-a-lot-of-other-people's distribute.

> I have to say from my view (as a developer of my own packages only using 
> setuptools/distribute to help package my packages) that it currently 
> looks a horrible mess, distribute tries to replace setuptools and does 
> it in such a way that any package which specifically wants setuptools 
> has to use distribute if another package wants it, so not allowing the 
> one which specifically wants setuptools to get the latest setuptools 
> (eg. now or soon it will be setuptools 0.6c10).

For a globally installed setuptools or distribute: yes, that's a mess.

When you use buildout (or pip, apparently) to manage a per-project isolated
set of eggs, they will happily coexist (once the 0.6.5 is out with a small
fix).  So it also depends a bit on the way you set up your project.


Reinout van Rees - reinout at vanrees.org - http://reinout.vanrees.org
Software developer at http://www.thehealthagency.com
"Military engineers build missiles. Civil engineers build targets"

More information about the Distutils-SIG mailing list