R. David Murray added the comment:

The same example can be constructed for python3 by modifying the imports.

I think what is happening here is that if a has not yet been imported, then 
when 'from .a import test' is done, the import machinery loads a and then 
defines 'a' in the local namespace, overriding the previous 'import package.b 
as a'.  On the other hand, if a has already been imported, the import machinery 
finds 'a' in sys.modules and skips the import-and-set-name-in-local-namespace 
step.

IMO the bug is that 'a' gets set at all when 'from a import test' is done, but 
the fact that it does so has a long history.

----------
nosy: +r.david.murray

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue27543>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to