[Distutils] Multi-version import support for wheel files

Nick Coghlan ncoghlan at gmail.com
Sun Aug 25 22:51:09 CEST 2013

On 26 Aug 2013 05:53, "PJ Eby" <pje at telecommunity.com> wrote:
> On Sun, Aug 25, 2013 at 12:58 PM, Jim Fulton <jim at zope.com> wrote:
> > On Sun, Aug 25, 2013 at 3:06 AM, Nick Coghlan <ncoghlan at gmail.com>
> >> The clumsiness of the __main__.__requires__ workaround aside, the main
> >> advantage this offers is that it *should* result in a relatively
> >> straightforward addition to pkg_resources to make it work with wheel
> >> files as well as eggs. That's important, because anyone that is
> >> currently doing side-by-side multi-versioning in Python is using the
> >> pkg_resources API to do it, since that's the only option currently
> >> available.
> >
> > No. It isn't. Buildout doesn't use pks_resources to do it.
> > (Buildout used pkg_resources at build time to manage package meta
> > data, but I think that's orthogonal to what you're talking about.)
> >
> > I'd also hazard to guess that most of the folks with multi-version
> > installs are using buildout to do it, as buildout does have a
> > fair number of users.
> FWIW, I would also note that if you use easy_install to install
> anything, you are quite possibly using multi-version installs without
> realizing it.  (The __main__.__requires__ API is used in
> easy_install-generated script wrappers, so there isn't any way you'd
> know about it without paying specific attention.)
> I don't know how big the "buildout users w/known multi-version" vs.
> "easy_install users w/implicit multi-version" groups are, but I
> imagine the combined group has got to be pretty darn big.  ;-)

I'd be willing to bet the number of Linux installs relying on multi-version
imports without the end user's knowledge trumps both :)

Anyway, I like Paul's suggestion of defining a specific runtime format for
this, even if it's just "wheel layout plus a RECORD file". I'm currently
thinking of using the ".dist" suffix, matching the existing egg vs egg-info
naming convention.

The likely vehicle for defining it will be the next generation installation
database format.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20130826/b34051da/attachment-0001.html>

More information about the Distutils-SIG mailing list