【发布时间】:2018-06-14 10:33:49
【问题描述】:
我是一名 Matlab 用户,并且是 Python 新手。我想从外部文件中调用最简单的 python 函数。我编辑了函数,但我的 Canopy 解释器 (IPython) 无法识别新版本并继续调用旧文件!
说这个函数保存为mymodule.py:
def oper(x):
print(x)
主文件是:
del mymodule.pyc
import mymodule
import imp
imp.reload(mymodule)
oper(5)
运行一次。将 print(x) 更改为 print(x+1)。它继续执行 print(x)。 如果我在主文件中定义函数 oper(x),或者如果我关闭 Canopy 并重新打开它,或者如果我通过 GUI Run>Reset Kernel 重置 Canopy 内核,都可以(但我无法对这些进行编程)。
我也试过 reload(mymodule) 和 %reset,都没有解决问题。理想情况下,我希望在主文件中有一个 Python 命令可以完全重置工作区(内核、namespctes 等)。我正在使用 Canopy 1.7.4.3348,其中包括 Python 2.7.11 和 IPython 4.0.0.9。
【问题讨论】:
标签: python python-2.7 python-import reload