I have a foo.py
def foo():
print "test"
In IPython I use:
In [6]: import foo
In [7]: foo.foo()
test
Then I changed the foo() to:
def foo():
print "test changed"
In IPython, the result for invoking is still test:
In [10]: import foo
In [11]: foo.foo()
test
Then I use:
In [15]: del foo
In [16]: import foo
In [17]: foo.foo()
test
I delete the foo.pyc in same folder foo.py exists, but still no luck.
May I know how to reimport the updated code in runtime?
解决方案
For Python 2.x
reload(foo)
For Python 3.x
import importlib
import foo #import the module here, so that it can be reloaded.
importlib.reload(foo)