14 сентября 2012 г.

eclipse pydev ImportError: Could not import settings

Ещё один косяк после рефакторинга проекта и перевода его на django 1.4. Ни в какую не стартует сервер из manage.py из самого eclipse. Бился-бился, всё равно пишет:
ImportError: Could not import settings 'project-django.settings' (Is it on sys.path?): No module named project-django.settings
И пути прописывал и всё остальное. Что характерно, извне эклипса, из консоли, всё отлично поднимается. Создал новый проект, запускаю — запускается. Начал разбираться — всё одинаковое в настройках проектов. Ничего не пойму.

В итоге выяснилось, что если (как по дефолту создаётся в PyDev) название проекта ЭКЛИПСА равно названию проекта DJANGO внутри него (в котором и лежит settings.py, не забываем что у нас уже 1.4 с новыми структурами проектов) то всё работает. А если как у меня - название проекта в эклипсе myproject-django а сам проект внутри называется project, то нифига.

Ну и в итоге решение такое родил: Свойства проекта -> PyDev - Django -> Django settings module: прописать путь явно в виде project.settings. А до этого там было пусто. Поглядел другие старые проекты в эклипсе - везде раньше было пусто.

Объяснение приходит на ум такое: ищется по дефолту как имяпроектаэклипса.settings и если название совпадает, то берётся корректно как будто напрямую прописал. А если там другое то всё, не находит. Ну это явно какая-то недоработка как будто бы с этим, как мне кажется.

Комментариев нет:

Отправить комментарий