У товарища тут вышла проблема с разворачиванием приложеньица на джанге. Вроде всё сделано нормально, но выдаёт, хоть ты тресни, ошибку импорта, аля "не могу импортировать 'test.settings'", но файл-то лежит рядом и из питона нормально импортируется. Битый час придумывал, откуда могут ноги у этой проблемы расти. Оказалось всё тривиально - в поставке питона идёт модуль test, поэтому возник конфликт пакетов.
Так что называйте папки (и пакеты) внятно!
Подписаться на:
Комментарии к сообщению (Atom)
Можно добавить в sys.path (ближе к началу) путь к к месту, где лежат внешние зависимости (если они не в project).
ОтветитьУдалитьВопрос не во внешних зависимостях (скорей наоборот), да и манипуляции с sys.path тоже, на мой взгляд, вещь близкая к "шаманству".
ОтветитьУдалитьit's well known problem, try:
ОтветитьУдалитьfrom __future__ import absolute_import
Абсолютный импорт тут ни каким боком, совет из разряда "слышал звон, да не знаю где он"?
ОтветитьУдалитьКогда я начинаю ходить по таким граблям, то сразу же делаю
ОтветитьУдалить>>> import modname
>>> modname.__file___
ну это-то понятно, но
ОтветитьУдалитьфокус в том, что обращение к settings.py по имени папки идёт внутри джанги, т.е. по идее есть строчки import settings, и там-то всё нормально.