[Python-Dev] PEP 395: Module Aliasing

exarkun at twistedmatrix.com exarkun at twistedmatrix.com
Fri Mar 4 16:59:59 CET 2011


On 03:30 pm, ncoghlan at gmail.com wrote:
>
>
>Fixing dual imports of the main module
>--------------------------------------
>
>Two simple changes are proposed to fix this problem:
>
>1. In ``runpy``, modify the implementation of the ``-m`` switch 
>handling to
>   install the specified module in ``sys.modules`` under both its real 
>name
>   and the name ``__main__``. (Currently it is only installed as the 
>latter)
>2. When directly executing a module, install it in ``sys.modules`` 
>under
>   ``os.path.splitext(os.path.basename(__file__))[0]`` as well as under
>   ``__main__``.
>
>With the main module also stored under its "real" name, imports will 
>pick it
>up from the ``sys.modules`` cache rather than reimporting it under a 
>new name.

Something to consider here is how this will interact with Python files 
which are _not_ modules.  I'm a little uneasy about having 
sys.modules["trial"] refer to the module defined by /usr/bin/trial.

Jean-Paul


More information about the Python-Dev mailing list