[Python-Dev] Relative vs. absolute imports
Phillip J. Eby
pje at telecommunity.com
Mon May 17 11:50:22 EDT 2004
At 05:37 PM 5/17/04 +0200, M.-A. Lemburg wrote:
>Samuele Pedroni wrote:
>>At 16:55 17.05.2004 +0200, M.-A. Lemburg wrote:
>>>Are you saying that you are not going to change the default __import__()
>>>implementation, only the way it is called ? (I wonder how you'll
>>>enforce the 'absolute only' strategy then)
>>if you pass globals = {} you get absolute imports from __import__,
>
>Ahh, a hidden feature :-) I didn't know that one yet.
More of an emergent property. Keep in mind that the current relative
mechanism is always relative *to* something, and that "something" is
defined by the globals['__name__'], if any. If there is no '__name__',
then the import has to be absolute. For example, you would expect this:
exec "import foo" in {},{}
to be an absolute import, would you not?
More information about the Python-Dev
mailing list