Поиск по блогу

Sunday, December 26, 2010

Python fixes. 'module' object is not callable

Если в вашем коде произошла такая фигня: 'module' object is not callable, значит вы неправильно определили import.

Пример:
Создаем класс MyObject и помещаем его в MyObject.py.
Создаем main.py.
Кладем оба файла в пакет my_pack

В main.py делаем импорт MyObject:

#-------------------Start of script---------------------
from my_pack import MyObject

def create_my_object():
    return MyObject()  #<-- здесь будет выброшен 'module' object is not callable

create_my_object()

#-------------------End of script---------------------


Почему мы получаем такую ошибку? Да потому что Python не Java и при импорте классов не достаточно определять только пакет.

Исправляем ошибку:

Заменяем 'from my_pack import MyObject' на 'from my_pack.MyObject import MyObject'

Теперь все ОК!

No comments:

Post a Comment