[Python-Dev] Re: PEP 328 -- relative and multi-line import

Barry Warsaw barry at python.org
Mon Apr 12 10:06:47 EDT 2004


On Sun, 2004-04-11 at 13:23, Aahz wrote:
> On Sun, Apr 11, 2004, Barry Warsaw wrote:
> >
> > This is one of the reasons I suggested early on that there be a way to
> > spell -- at the package level by the package developer -- "I'm using
> > absolute imports here".  Without that spelling, the package would still
> > use the old semantics, however broken they are <wink>.
> > 
> > E.g. if I could put in email/__init__.py something like:
> > 
> > from __future__ import i_am_absolutely_resolved_about_my_imports
> > 
> > then I'd expect PEP 328 semantics in package email and all subpackages. 
> > Older packages wouldn't have this declaration and would operate under
> > the old rules.  (I still don't have any need for relative imports. ;)
> 
> Anyone else favor having the ``__future__`` directive apply to the
> package and all its subpackages?  (Currently it follows the standard
> rules of applying only to each module.)  Note that this would make it
> impossible to do what some people want, where a package becomes another
> package's subpackage, if the new subpackage relies on relative imports
> under the old rules.

Would that be any different than if modules of the subpackage add the
__future__ in them?  I'm envisioning semantics such that a __future__ in
an __init__.py was the same as if that __future__ was explicitly added
to every module (i.e. it's a convenience).

-Barry





More information about the Python-Dev mailing list