import bug

Gabriel Genellina gagsl-py2 at yahoo.com.ar
Sun Nov 1 23:50:41 EST 2009


En Sun, 01 Nov 2009 19:01:42 -0300, MRAB <python at mrabarnett.plus.com>  
escribió:
> Gabriel Genellina wrote:

>>>> One way to avoid name clashes would be to put the entire standard
>>>> library under a package; a program that wants the standard re
>>>> module would write "import std.re" instead of "import re", or
>>>> something similar.
>>>  You could do it in a backwards compatible way, by adding the std
>>> package directory into the path.
>>  Unfortunately you can't, at least not without some special treatment
>> of the std package. One of the undocumented rules of the import
>> system is that you must not have more than one way to refer to the
>> same module (in this case, std.re and re). [...]
> Couldn't the entry in sys.modules be where the module was found, so that
> if 're' was found in 'std' then the entry is 'std.re' even if the import
> said just 're'?

What about a later 'import re'? 're' would not be found in sys.modules  
then.
In any case, it requires a change in the current behavior, a PEP, and a  
lot of discussion...

-- 
Gabriel Genellina




More information about the Python-list mailing list