On Tue, Apr 10, 2012 at 12:55 PM, Oleg Broytman<span dir="ltr"><<a href="mailto:phd@phdru.name">phd@phdru.name</a>></span>wrote:<div><br></div><div>>My opinion is - restructure code to avoid circular import instead of<br>
hacking import machinery.</div><div><br></div><div>It's not feasible sometimes.</div><div><br></div><div>See:<a href="http://stackoverflow.com/questions/1556387/circular-import-dependency-in-python">http://stackoverflow.com/questions/1556387/circular-import-dependency-in-python</a></div>
<div><br></div><div>Yes, they could be considered the same package. But if this results in a massively huge file then it's impractical. I agree that frequently, circular dependencies mean the design should be thought through again. But there ARE some design patterns where it's appropriate (and where merging the files together would result in a huge file) so I think it's dogmatic to say that the packages should either be combined or the design should be re-evaluated.  Matthew Lund Dec 1 '11 at 21:49</div>
<div><br><br></div><div>> Why does a submodule import the entire package instead of importing<br><div>just root?</div><div><br></div><div>import tree, sys</div><div>print("tree.branch: 'root' in dir(tree) ->", 'root' in dir(tree))</div>
<div>print("tree.branch: 'tree.root' in sys.modules ->", 'tree.root' in sys.modules)</div><div><br></div><div>Ignore this part - my fault.</div><div><br></div><div>--</div><b><i>Victor</i></b><br>
</div>