[Import-SIG] PEP 420: Implicit Namespace Packages

Eric V. Smith eric at trueblade.com
Sat May 5 16:37:39 CEST 2012


On 5/5/2012 10:23 AM, Antoine Pitrou wrote:
> On Sat, 5 May 2012 23:55:23 +1000
> Nick Coghlan <ncoghlan at gmail.com> wrote:

>> None of us are willing to do
>> that at the moment, because we'd have to coordinate the installation
>> of backports.__init__, instead of being able to just include an
>> additional directory in our path names.
> 
> Would you? You could just settle on the standard pkgutil boilerplate in
> __init__.py.

The typical problem here is for system packagers (RPM, DEB, ...). The
shared __init__.py has to be removed from each individual package and
placed in a standalone package that all of the other packages have to
depend on. That's a lot of hassle, and one more roadblock to using
namespace packages. setuptools is some help here, but many people object
to using it.

All of the namespace PEPs address this problem by having no file that's
shared among all of the portions (to use the 382 and 420 term).

I think there's wide agreement that the import machinery should
understand namespace packages. You (Antoine) seem to be arguing against
it, but it's pretty well settled, if the PyCon discussions are
representative (which they may not be).

Eric.


More information about the Import-SIG mailing list