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 -- Jim Fulton Zope Corporation _______________________________________________ Zope-Dev maillist - [email protected] http://mail.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://mail.zope.org/mailman/listinfo/zope-announce http://mail.zope.org/mailman/listinfo/zope )
