[Distutils] A new, experimental packaging tool: distil

Paul Moore p.f.moore at gmail.com
Tue Mar 26 11:29:25 CET 2013

On 26 March 2013 08:54, Vinay Sajip <vinay_sajip at yahoo.co.uk> wrote:
> I would welcome any feedback you could give regarding distil/distlib. There is
> of course a lot more testing to do, but I consider these initial findings to be
> promising, and worth sharing. If you find any problems, you can raise issues
> at [5].

A couple of immediate points. I tried "distil install distribute pip
wheel" which failed, because distribute requires 2to3 to be run as
part of setup.py (no real surprise there). But distil *did* partially
install wheel, leaving a broken installation (there was no METADATA
filein wheel's dist-info directory). I had to manually delete what had
been installed of the 3 projects. I'd suggest that distil needs to
roll back anything it did after a failed install.

Secondly, when there is a C extension in the distribution (on Windows)
the install fails even though I have Visual C installed. This is
because cl.exe is not on my PATH - distil should do the same detection
of the location of Visual C as distutils does. The install does work
if cl.exe is on PATH - presumably, though, it doesn't check that it is
the *right* cl.exe (2010 for Python 3.3, 2008 for 2007, etc). Also
distil doesn't deal with packages with optional C extensions - but
again, that's a case of a "too complex" setup.py (and I'm glad it
picks the option of installing the C extension in that case, and not
just the pure Python version).

But other than these niggles, it's impressively effective so far :-)


PS I'm not entirely happy with the default of installing to the user
packages directory. 99.9% of my time, I'm installing into a
virtualenv, and this default is very wrong - as the installed packages
will "infect" all of my virtualenvs.

More information about the Distutils-SIG mailing list