> I had a problem yesterday where I wanted to extend a top-level module
> by a module in a subpackage. I naively named my module the same as the
> toplevel module, and peer import bit me. I finally had to rename my
> module for no good reason to get things working.
You did the right thing, for a good reason.
> So my question is: is there an easy way to force a top-level import
> (adress the top-level namespace), that I overlooked?
No.
> If not, what do you think of a
>> from __top__ import systemmodule
>> similar to from __future__ ...
>> An alternative syntax would be "import .systemmodule", but that seems
> obscure.
I'm not keen on this. I'd rather deprecate relative imports -- they
cause more trouble than they're worth.
--Guido van Rossum (home page: http://www.python.org/~guido/)