Steven D'Aprano wrote:
On Wed, 23 Dec 2009 13:37:06 +0100, Jean-Michel Pichavant wrote:
3/ if you really need to unload the previous module, it's a little bit
tedious.
import mod1
del mod1
sys.modules['mod1'] = None
Assigning sys.modules[name] to None is not the same as deleting the
entry. None has special meaning to imports from packages, and for modules
it is interpreted as meaning that the module doesn't exist.
did'nt know that.
sys.modules.pop('mod1')
should then do the trick.
# will unload mod1 assuming mod1 was the only
reference to that module.
Which is highly unlikely. Any classes or functions from the module will
keep the module alive.
Yep.
This is why I strongly suggested the OP to use a static approach,
unloading/reloading module in python isn't really the most obvious thing
ever done. I would even dare to say that if it was possible, someone
would have already written the module for it.
JM
--
http://mail.python.org/mailman/listinfo/python-list