2015-07-08 9 views
2

Давайте предположим, что у меня есть эта структура каталогов:Проблема импорта объекта в том же каталоге

tumblelog/ 
    __init__.py 
    manage.py 

Когда я пытаюсь импортировать приложение из __init__.py в manage.py с этим утверждением:

from tumblelog import app 

я получаю следующее ошибка:

ImportError: No module named tumblelog 
+0

Возможно, вы получаете круговой импорт. Вы импортируете из 'manage.py' внутри' __init __. Py'? – dirn

ответ

2

Вам необходимо будет импортировать из модуля не каталог.

ваш код должен быть:

from __init__ import app 

это создаст файл ВПГ. выражение «from» объявляет этот файл, «import» объявляет импортируемую функцию.

в качестве альтернативы, если вы хотите импортировать все функции, которые вы могли бы написать

import __init__ 

, а затем написать

__init__.app() 

использовать его

или импортировать все без перепечатывать модуля все время:

from __init__ import * 
+0

Что делать, если у меня был файл 'models' в том же каталоге в tumblelog, и я хотел его импортировать в интерпретаторе python? Я получаю ту же ошибку, когда я использую 'from tumblelog.models import *' – user1123975

+0

Если это model.py, вы должны иметь возможность вызвать его с помощью 'import models' или' from models import * ' – ricknroll

Смежные вопросы