[Zope-dev] Re: deferredimport?

Chris Withers chris at simplistix.co.uk
Sun Nov 25 18:29:11 EST 2007


Philipp von Weitershausen wrote:
> Chris Withers wrote:
>> Is deferredimport handy for dealing with circular import problems,
> 
> Sure.

Is this it's primary reason for existence?

>   Often, especially for package modules, you want to import names for
>   convenience, but not actually perform the imports until necessary.
>   The zope.deferredimport package provided facilities for defining names
>   in modules that will be imported from somewhere else when used.  You
>   can also cause deprecation warnings to be issued when a variable is
>   used, but we'll get to that later.

Well, this says what it does but not why it was written...

> (Btw, this thread has nothing to do with the development *of* Zope and 

That's not strictly speaking true ;-)

I bumped into zope.deferredimport while reading the code in 
zope.component's __init__.py which uses zope.deferredimport quite 
heavilly... however, the comment for r67110 suggests the creation of 
zope.component._api was due to circular import problems.

If zope.deferredimport solves these problems, why was ._api needed?

cheers,

Chris

-- 
Simplistix - Content Management, Zope & Python Consulting
            - http://www.simplistix.co.uk


More information about the Zope-Dev mailing list