[Distutils] PEP 426 updated (with more than you ever wanted to know about version schemes)

Daniel Holth dholth at gmail.com
Tue Feb 12 14:46:05 CET 2013


On Tue, Feb 12, 2013 at 6:25 AM, Paul Moore <p.f.moore at gmail.com> wrote:

> On 12 February 2013 08:33, Nick Coghlan <ncoghlan at gmail.com> wrote:
> > The missing piece is a standard hook for invoking the builder to
> > create a wheel. Currently, that would be via "./setup.py bdist_wheel",
> > but we want to get away from the setup.py format.
>
> I've offered to do this before to resounding silence, but it's not too
> hard in theory to create a bdist_wheel command within the existing
> setup.py infrastructure - it's just a matter of leveraging the
> existing "Builder" infrastructure in distutils to do a setup.py
> install into a temporary area, then zipping up the results.
>
> However, the problem is that distutils currently only supports
> creating the old .egg-info format metadata. I believe it's possible to
> rename the egg-info file and munge the metadata directory structure to
> give a .dist-info format layout (IIRC, that's roughly what the
> existing setuptools bdist_wheel extension provided by the wheel
> project does) but I'm not sure if simply doing that meets the new
> standards. Retrofitting full support for the new PEPs into distutils
> may go beyond the limits of the "distutils freeze"...
>
> Regardless, I'll do a proof of concept at least - it's not a big job
> (http://bugs.python.org/issue13189 was my last version, the
> bdist_simple format - here's hoping this one doesn't die of apathy the
> same way :-().


I'm fairly certain you will find that distutils does not support eggs or
.egg-info at all. It does write PKG-INFO 1.1. bdist_wheel (a setuptools
plugin which does support eggs) has always just upgraded that metadata to
version 1.2+ to express setuptools features. Since distutils doesn't
support setuptools features you might not need to edit PKG-INFO at all,
just generate the manifest (RECORD) correctly.

I still think it makes more sense to just download distribute and wheel
when you want to build one, but to each his own... if you need to create
packages for pypi without being able to install things from it, knock
yourself out.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20130212/7ceb4b62/attachment.html>


More information about the Distutils-SIG mailing list