[Distutils] Using Wheel with zipimport

Donald Stufft donald at stufft.io
Wed Jan 29 01:18:41 CET 2014


On Jan 28, 2014, at 6:38 PM, Nick Coghlan <ncoghlan at gmail.com> wrote:

> I think you're reading too much into that comment. Putting a wheel file directly on sys.path is no different from putting any other zipfile directly on sys.path - whether or not it will work depends on the context, but it's a useful capability if used responsibly (as we do in the ensurepip implementation).
> 
> The key problems with eggs in relation to this were:
> - easy_install preferring to install as eggs by default
> - setuptools install a global site hook that added every installed egg to sys.path for every application run in that Python installation
> 
> Neither of those applies to wheels - pip always unpacks them when installing, and if you want to add one to sys.path you have to do it manually, it doesn't happen automatically.
> 
> All the new note in the PEP is clarifying is that it *isn't* an accident that the wheel format is zipimport compatible for pure Python wheels, we deliberately designed it that way (hence the "Root-is-purelib" setting, rather than requiring separate purelib and platlib subdirectories).
> 
> Cheers,
> Nick.
> 

Regardless if it was or wasn't an accident, I believe it was a mistake.
Supporting it officially at all means that we have limitations on what we can
do to make Wheel a better format. I had hopes that Wheel could be made more
generic than it currently is, but because of the fact that directly adding
them to sys.path is supported that makes it much much more awkward to do so.

-----------------
Donald Stufft
PGP: 0x6E3CBCE93372DCFA // 7C6B 7C5D 5E2B 6356 A926 F04F 6E3C BCE9 3372 DCFA

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20140128/a8a194d2/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 801 bytes
Desc: Message signed with OpenPGP using GPGMail
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20140128/a8a194d2/attachment.sig>


More information about the Distutils-SIG mailing list