On Feb 20, 2009, at 10:22 AM, Martijn Faassen wrote:

> Jim Fulton wrote:
>> On Feb 19, 2009, at 2:07 PM, Marius Gedminas wrote:
>> ...
>>> -1 for repeating
>>> english.adjective.fully english.adverb.qualified  
>>> english.noun.package
>>> english.noun.names all over the place in the code
>> If you have package hierarchies remotely that deep, you have bigger
>> problems.
> Dotted name imports within a package's modules like that break the
> ability for people to create package specific namespaces in  
> __init__.py
> due to subtle circular dependency issues. from imports tend to avoid
> this as the namespace package isn't actually needed yet for dotted
> access at a critical point.

Names exported to a containing package cause circular import problems  
whether or not from imports are used.  I've seen from imports make  
this worse. I believe you've seen cases where they make it better.  I  
think the only way to avoid this is to use a deferred import mechanism  
such as zope.deferredimport. (This is one of the few batteries I  
actually wish Python included.)


Jim Fulton
Zope Corporation

Zope-Dev maillist  -  Zope-Dev@zope.org
**  No cross posts or HTML encoding!  **
(Related lists - 
 http://mail.zope.org/mailman/listinfo/zope )

Reply via email to