[Python-Dev] is sys.modules not meant to be replaced?

Benjamin Peterson benjamin at python.org
Sun Jul 24 06:55:38 CEST 2011


2011/7/23 Eric Snow <ericsnowcurrently at gmail.com>:
> The documentation[1] doesn't say, but the implementation of the imp
> module makes me wonder if sys.modules was not meant to be replaceable.
>  No doubt this has to do with its tie to the interpreter's modules
> dict.  I ran into this doing "sys.modules = sys.modules.copy()" to
> protect the actual sys.modules dict during some import related test
> cases.  If the modules I imported were extension modules it broke.
>
> So, is sys.modules not meant to be open to re-binding?

Not any more or less than other global mutable objects. You can expect
other code to be holding on to old references.


-- 
Regards,
Benjamin


More information about the Python-Dev mailing list