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

Tarek Ziadé ziade.tarek at gmail.com
Thu Oct 8 11:11:10 CEST 2009

On Thu, Oct 8, 2009 at 10:56 AM, Paul Moore <p.f.moore at gmail.com> wrote:
> +1
> This addresses my biggest concern with the way PEP 376 was going
> (largely prompted by my suggestions, so I'll take the blame for this!)
> which was that PEP 376 was trying to define list/uninstall methods for
> package formats (i.e. zip files/eggs) that it couldn't install itself.
> I presume that when you refer to the restriction in scope, you do mean
> that PEP 375 will lose all support for zip files, as well as the
> generalised PEP 302 support I proposed? I still believe that
> special-casing zip files is wrong - PEP 302 deliberately abstracted
> the import mechanisms and built zipfile support on top of that, and I
> still believe that's a good thing. But expanding PEP 302 to cover the
> requirements of PEP 376 looked more and more inappropriate the more I
> wrote code to do it - what would be needed would be a *new* protocol
> on top of which zip-based formats could be layered. I'm quite happy
> for that to be outside the scope of PEP 376, though, as distutils
> itself doesn't support any such formats.

Yes exactly so.

> The egg format
> One thing missing from your roadmap (unless I missed it) is the fate
> of the egg (zipfile) format. If it's to remain a valid option
> (bdist_egg and the like) then I'd assume that Distribute needs to be
> the place to develop it.
> One thing it will need is an equivalent to
> PEP 376 introspection and uninstall features. And *that* is where I
> believe a standard protocol belongs - developed based on the real use
> requirements for egg files, with a suitable file-based layer which can
> be added into distutils (somewhat like importlib does for PEP 302)
> once the protocol is agreed and standardised.

Distribute is planning to continue supporting the egg format, but will
probably drop the zipped version.
This is still under discussions though so don't take this as the final word.

In any case, distribute.resources will probably add the missing bits
on the top of a PEP 376 -compliant Distutils
to provide support for any file querying Distutils will not provide
(for installation and uninstallation)


More information about the Python-Dev mailing list