[Distutils] Bilingual namespace package conundrum

Barry Warsaw barry at python.org
Thu Jan 1 22:54:49 CET 2015


On Jan 01, 2015, at 03:20 PM, Tres Seaver wrote:

>That sounds right to me.  I never really understood the motivation for
>PEP 420, but if the presence of that file disables it, then it should
>ensure the "old" behavior regardless.

The motivation is described in the PEP, but briefly, on (many, most, all?)
Linux distros any single file can be owned by exactly one system package.  So
which package would own e.g. zope/__init__.py?

Before PEP 420, the answer is "well, it's complicated".  After PEP 420, the
answer is "no package, because that file doesn't exist".

This is why the Debian tools delete any stray zope/__init__.py files when they
are creating any zope.* binary package for Python 3.

I think you're right that removing the version guard will make it work, but
they won't be PEP 420 packages.  I don't think it's possible to make a
bilingual package a pseudo-namespace package under Python 2, but a PEP 420
namespace package under Python >= 3.3.

Cheers,
-Barry
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20150101/0369c511/attachment.sig>


More information about the Distutils-SIG mailing list