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

Ian Bicking ianb at colorstudy.com
Fri Oct 9 19:02:07 CEST 2009


Probably all these discussions are better on distutils-sig (just
copying python-dev to note the movement of the discussion)

On Fri, Oct 9, 2009 at 11:49 AM, Michael Foord
<fuzzyman at voidspace.org.uk> wrote:
>> 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...?
>
> Many Windows users would be quite happy if the standard mechanism for
> installing non-source distributions on Windows was via the wininst binaries.
>
> I wonder if it is going to be possible to make this compatible with the
> upcoming distutils package management 'stuff' (querying for installed
> packages, uninstallation etc) since installation/uninstallation goes through
> the Windows system package management feature.  I guess it would be
> eminently possible but require some reasonably high level Windows-fu to do.

As far as pip works, it unpacks a package and runs "python setup.py
install (and some options that aren't that interesting, but are
provided specifically by setuptools)".  Well, it's slightly more
complicated, but more to the point it doesn't install in-process or
dictate how setup.py works, except that it takes some specific
options.  Running a Windows installer in the same way would be fine,
in that sense.  Alternately pip could unpack the wininst zip file and
install it directly; I'm not sure if that would be better or worse?
If wininst uses the central package manager of the OS then certain
features (like virtualenv, PYTHONHOME, --prefix, etc) would not be
possible.

For Distribute (or Setuptools or by association pip) to see that a
package is installed, it must have the appropriate metadata.  For
Setuptools (and Distribute 0.6) this is a directory or file, on
sys.path, "Package.egg-info" (or in Package-X.Y.egg/EGG-INFO).  If a
file, it should be a PKG-INFO file, if a directory it should contain a
PKG-INFO file.  So however the package gets installed, if that
metadata is installed then it can be queried.  I don't think querying
the Windows system package management would be necessary or desirable.
 Nobody is trying that with deb/rpm either.

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


More information about the Python-Dev mailing list