我有功能:
def load_from_file(filepath, expected_class):
mod_name, file_ext = os.path.splitext(os.path.split(filepath)[-1])
py_mod = imp.load_source(mod_name, filepath)
在templatetags文件中,没关系。
但是当我将此功能复制/粘贴到我的视图时,我收到错误:
'module' object has no attribute 'load_source'
我的示例视图:
import os, imp
def get_module(request, position):
[...]
imod = load_from_file(settings.PROJECT_ROOT + '/core/manager/modules/' + mod.type.fileview + '.py', 'ModuleManager')
[...]
def load_from_file(filepath, expected_class):
[...]
为什么这不起作用?
答案 0 :(得分:1)
您有另一个名为imp
的模块。
重命名,将其移至sys.path
中的某个位置,而不是标准库模块或完全移出sys.path
,或重新排列sys.path
。
它最有可能与您的观看在同一目录中;如果是这种情况,最简单的方法就是将其移动到没有模块导入imp
或重命名的目录。