[Python-Dev] Distutils and Distribute roadmap (and some words on Virtualenv, Pip)

Ian Bicking ianb at colorstudy.com
Fri Oct 9 18:34:10 CEST 2009

On Fri, Oct 9, 2009 at 7:32 AM, Paul Moore <p.f.moore at gmail.com> wrote:
> 2009/10/9 Antoine Pitrou <solipsis at pitrou.net>:
>> Ian Bicking <ianb <at> colorstudy.com> writes:
>>> Someone mentioned that easy_install provided some things pip didn't;
>>> outside of multi-versioned installs (which I'm not very enthusiastic
>>> about) I'm not sure what this is?
>> http://pip.openplans.org/#differences-from-easy-install
>> If it's obsolete the website should be updated...
> Specifically, combine "only installs from source" with "might not work
> on Windows" and the result is pretty certainly unusable for C
> extensions on Windows. You can pretty much guarantee that the average
> user on Windows won't have a C compiler[1], and even if they do, they
> won't be able to carefully line up all the 3rd party C libraries
> needed to build some extensions.
> Binary packages are essential on Windows.

I'll admit I have some blindness when it comes to Windows.  I agree
binary installation on Windows is important.  (I don't think it's very
important on other platforms, or at least not very effective in
easy_install so it wouldn't be a regression.)

I note some other differences in that document:

> It cannot install from eggs. It only installs from source. (Maybe this will be changed sometime, but it’s low priority.)

Outside of binaries on Windows, I'm still unsure if installing eggs
serves a useful purpose.  I'm not sure if eggs are any better than
wininst binaries either...?

> It doesn’t understand Setuptools extras (like package[test]). This should be added eventually.

I haven't really seen Setuptools' extras used effectively, so I'm
unsure if it's a useful feature.  I understand the motivation for
extras, but motivated features aren't necessarily useful features.

> It is incompatible with some packages that customize distutils or setuptools in their setup.py files.

I don't have a solution for this, and generally easy_install does not
perform much better than pip in these cases.  Work in Distribute
hopefully will apply to this issue.

Ian Bicking  |  http://blog.ianbicking.org  |  http://topplabs.org/civichacker

More information about the Python-Dev mailing list