Почему я получаю сообщение: у объекта 'module' нет атрибута 'load_source' - PullRequest
0 голосов
/ 26 сентября 2011

У меня есть функция:

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):
    [...]

Почему это не работает?

1 Ответ

1 голос
/ 26 сентября 2011

У вас есть другой модуль с именем imp.

Либо переименуйте его, либо переместите его либо на место позже в вашем sys.path, чем у стандартных библиотечных модулей, либо из sys.path полностью, либо переставьтеsys.path.

Скорее всего, он находится в том же каталоге, что и ваши представления;в этом случае проще всего, вероятно, переместить его в каталог, куда ни один модуль не импортирует imp, или переименовать его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...