[Python-Dev] PEP 420 - dynamic path computation is missing rationale

Brett Cannon brett at python.org
Wed May 23 21:02:25 CEST 2012


On Wed, May 23, 2012 at 9:10 AM, Eric V. Smith <eric at trueblade.com> wrote:

> On 05/23/2012 09:02 AM, Nick Coghlan wrote:
> > On Wed, May 23, 2012 at 10:31 PM, Eric V. Smith <eric at trueblade.com>
> wrote:
> >> On 05/22/2012 09:49 PM, PJ Eby wrote:
> >>> It shouldn't - all you should need is to use
> >>> getattr(sys.modules[self.modname], self.attr) instead of referencing a
> >>> parent path object directly.
> >>
> >> The problem isn't the lookup, it's coming up with self.modname and
> >> self.attr. As it currently stands, PathFinder.find_module is given the
> >> parent path, not the module name and attribute name used to look up the
> >> parent path using sys.modules and getattr.
> >
> > Right, that's what PJE and I were discussing. Instead of passing in
> > the path object directly, you can instead pass an object that *lazily*
> > retrieves the path object in its __iter__ method:
>
> Hey, one message at a time! I'm just reading those now.
>
> I'd like to hear Brett's comments on this approach.


If I understand the proposal correctly, this would be a change in
NamespaceLoader in how it sets __path__ and in no way affect any other code
since __import__() just grabs the object on __path__ and passes as an
argument to the meta path finders which just iterate over the object, so I
have no objections to it.

-Brett
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20120523/6333bdf9/attachment.html>


More information about the Python-Dev mailing list