[Python-Dev] is the 'path' argument to an importer's find_module() just a hint?

Nick Coghlan ncoghlan at gmail.com
Mon Oct 27 21:30:41 CET 2008


glyph at divmod.com wrote:
> On 07:24 pm, brett at python.org wrote:
>> On Mon, Oct 27, 2008 at 3:50 AM, Nick Coghlan <ncoghlan at gmail.com> wrote:
>>> Brett Cannon wrote:
> 
>> Good enough for me. Then I am just going to ignore the 'path' argument
>> for frozen modules but use it to short-circuit imports for built-in
>> modules.
> 
> For what it's worth, Twisted uses the __path__ attribute to facilitate
> its plugin mechanism.  If this changes so that importing from frozen
> packages no longer honors __path__, then Twisted will no longer support
> plugins if the package to be plugged into is frozen.
> 
> What is the motivation to change this?

If I had to guess, I'd say Brett found some time to tinker with his
import_in_py implementation. That has been an interesting exercise in
blowing dust out of some of the dark corners of CPython's current import
*implementation* (particularly in areas that stray outside of the
current documentation and PEP 302), and it isn't always clear which
behaviour can be safely skipped and which needs to be faithfully
replicated to avoid breaking 3rd party utilities.

If the current system is setting __path__ to a string in frozen
packages, I'd have to wonder how well any existing __path__ manipulation
tools handle frozen packages without special-casing them.

Cheers,
Nick.

-- 
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia
---------------------------------------------------------------


More information about the Python-Dev mailing list