[Python-Dev] Relative vs. absolute imports

Phillip J. Eby pje at telecommunity.com
Mon May 17 11:38:40 EDT 2004


At 05:15 PM 5/17/04 +0200, M.-A. Lemburg wrote:
>Phillip J. Eby wrote:
>>>>>I have a few questions about the PEP 328 which I'd like discussed:
>>>>>
>>>>>* Why do we absolutely need to change the current scheme
>>>>>   of 'local, then absolute' for name resolution ?
>>>>
>>>>Because there's no way to override the current scheme without calling 
>>>>__import__ directly.
>>>
>>>
>>>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)
>>Huh?  You lost me.  What 'absolute only'?  There's "from .x import y" 
>>still, and that's relative.
>>As far as I know, nothing about __import__ is changing, only the spelling 
>>of import statements.
>
>If "import os" is supposed to map to an absolute import
>you will have to change the semantics of __import__ because
>simply passing "os" to that API is going to implement the
>standard 'local, then absolute' import scheme.

As I believe I mentioned before, the relevant import opcodes will simply 
pass a different set of parameters to __import__.  Supplying a different 
"globals" dictionary suffices to implement an absolute import.




More information about the Python-Dev mailing list