[Distutils] Package install failures in 2.6.3 - setuptools vs Distribute

Ned Deily nad at acm.org
Sat Oct 3 23:17:50 CEST 2009

In article 
<94bdd2610910031309w61d72dcdo8faab4964bf67551 at mail.gmail.com>,
 Tarek Ziadé <ziade.tarek at gmail.com> wrote:
> On Sat, Oct 3, 2009 at 7:00 PM, Ned Deily <nad at acm.org> wrote:
> > This is not a good experience for users.  Unless I'm missing something
> > (and I hope I am), this issue really can't be hand-waved away.
> Make sure to understand that the way setuptools patches distutils
> makes it very sensible to any change made in distutils, even backward
> compatibles ones like in the 2.6 branch.
> But I won't freeze distutils work because of that, and distutils
> is not to be blamed if setuptools is broken, neither Python.

I understand very well the issues that lead to the establishment of the 
Distribute project and I think it is great that you have taken on this - 
at times - pretty thankless effort.  So thank you for doing so.  I'm not 
trying to point fingers here; if I were, I'd start with me not 
recognizing this issue before 2.6.3 went out the door.  I'm simply 
trying to put myself in the place of the "naive user", the target 
audience of easy_install.  And users, naive or otherwise, don't know or 
care who is to blame, they'll just know that something about using 
Python 2.6.3 is broken.

> So it's not a good experience for the users that's true, and we can
> try to enhance
> the Distribute documentation to help them as you suggested, and we are
> already helping
> because we've forked to try to provide some solutions.
> But there's nothing else I can think of to help people. My advice would be 
> that
> the projects that use setuptools just switch asap on distribute, which
> is actively
> maintained.
That's fine but they're not going to know about Distribute unless they 
stumble across discussions like this.  And it's not their usage of 
setuptools that is the problem here.  I think most of them would view 
this (rightly or wrongly) as: "Without warning, my package broke on a 
bug fix release of Python because of changes in Python."  One solution 
*is* for the maintainers of affected packages to change their packaging 
and documentation to explicitly require Distribute.  That's not going to 
happen overnight, of course.

So is it possible to get a better idea of what the impact of this 
problem is going to be?  I've already identified one real-world use 
case: (1) OS X users who install 2.6.3 from python.org and who need to 
install certain packages (lxml, appscript, zope-interfaces, others?).

On what other platforms is this likely to be a problem?  Windows *?  
Linuxes?  If that can be identified, if necessary the distributors of 
Python installers can be informed so they can inform their users (note, 
that python.org is itself a distributor of Python installers).  I don't 
have the expertise to make an assessment of that.

Is it possible to get a better idea of what packages might be affected, 
i.e. what is it that these apps are using in their setup.py, or 
elsewhere, that causes the problem to appear?  If so, it would be easier 
to warn the affected developers and users.

Certainly some kind of warning could be added to the python.org 2.6.3 
download pages and sent out of the various news lists.  Perhaps a note 
about 2.6.3 and 3.x could be added to the original setuptools / 
easy_install PyPi page.

I guess the bottom line question is:  Is there anything more pro-active 
that should be done?

 Ned Deily,
 nad at acm.org

More information about the Distutils-SIG mailing list