重新加载功能只能工作一次(Python)

时间:2016-10-08 07:36:19

标签: python import reload importerror spyder

我正在使用一些代码,我必须访问存储在除python模块其余部分之外的目录中的函数(我的脚本位于C:/path/M461/DataMapping中,模块位于{{ 1}}并命名为C:/path/M461/ModuleDir - 原创,我知道)。我的教授说使用functions.py是使用这些功能所必需的,但我在importlib.reload时遇到了技术错误。这是我的代码:

reload

当我运行它时,它第一次完美运行。任何后续尝试运行该文件都会引发错误:

parentDir = r'C:/path/M461/'
if parentDir not in set(sys.path):
    sys.path.append(parentDir)
from ModuleDir import functions
dir(functions)

import importlib
importlib.reload(functions)

fieldDict = functions.fieldDictBuild()

我发现的唯一解决方法是每次运行代码时完全重启内核,这很烦人。有没有办法永久解决这个问题?我的代码或File "C:\Users\Kristen\Anaconda3\lib\importlib\__init__.py", line 147, in reload raise ImportError(msg.format(name), name=name) ImportError: module ModuleDir.functions not in sys.modules 模块本身有问题吗?为什么有必要重新加载reload

0 个答案:

没有答案