[Python-Dev] PEP 420 - dynamic path computation is missing rationale
Eric V. Smith
eric at trueblade.com
Thu May 24 03:02:04 CEST 2012
On 5/23/2012 8:58 PM, PJ Eby wrote:
> On Wed, May 23, 2012 at 8:24 PM, Eric V. Smith <eric at trueblade.com
> <mailto:eric at trueblade.com>> wrote:
>
> I tried this approach and it works fine. The only caveat is that it
> assumes that the parent path can always be computed as described above,
> independent of what's passed in to PathFinder.load_module(). I think
> that's reasonable, since load_module() itself hard-codes sys.path if the
> supplied path is missing.
>
>
> Technically, PEP 302 says that finders aren't allowed to assume their
> parent packages are imported:
>
> """ However, the find_module() method isn't necessarily always called
> during an actual import: meta tools that analyze import dependencies
> (such as freeze, Installer or py2exe) don't actually load modules, so a
> finder shouldn't /depend/ on the parent package being available in
> sys.modules."""
>
> OTOH, that's finders, and I think we're dealing with loaders here.
> Splitting hairs, perhaps, but at least it's in a good cause. ;-)
I guess I could store the passed-in parent path, and use that if it
can't be found through sys.modules.
I'm not sure I can conjure up code to test this.
More information about the Python-Dev
mailing list