2010-08-05 2 views
0

Недавно я переместил приложение django с c:\Users\user\django-projects\foo\foobar в c:\Python25\Lib\site-packages\foo\foobar (которое находится на пути python). Я начал новое приложение в каталоге django-projects и добавил foo.foobar в настройку INSTALLED_APPS. Когда я пытаюсь запустить dev-сервер (manage.py runserver) для моего нового приложения, я получаю ошибку ImportError: No module named foobar.Где находится сервер django dev (manage.py runningerver)?

Просматривая трассу, он ищет в c:\Users\user\django-projects\foo\..\foo\foobar для приложения foobar. Я проверил свои переменные среды и PYTHONPATH, и ни один из них не указывает на c:\Users\user\django-projects\foo, и он не отображается в sys.path, когда я запускаю интерпретатор python.

Я догадываюсь, что я как-то добавил c:\Users\user\django-projects\foo к пути django когда-то вдоль разработки foo, но я не помню, как я это сделал.

Итак, со всем этим, мой вопрос: «Как мне сделать manage.py в c:\Python25\Lib\site-packages вместо c:\Users\user\django-projects\foo

Спасибо,

  • Lexo
+0

Вы можете изменить путь, отредактировав 'sys.path'. Тем не менее, я предполагаю, что в вашем каталоге 'site-packages \ foo' просто отсутствует' __init __. Py' – Wolph

+0

Является ли 'sys.path' единственным местом, в котором выглядит' manage.py'? Если да, то почему он все еще смотрит в несуществующий каталог 'django-projects \ foo'? Кроме того, у меня есть файл '__init __. Py' в' site-packages \ foo' – Lexo

ответ

1

manage.py импорт settings.py из текущего каталога и передать settings в качестве параметра execute_manager. Вероятно, вы определили корень проекта в settings.py.

+0

Спасибо. Я проверил свой 'settings.py', и в нем нет никаких следов« django-projects ». Я начинаю думать, что сойду с ума. Я сделаю еще несколько тестов и посмотрю, что я могу придумать. – Lexo

+0

Вы пытались использовать управляемую оболочку ('python manage.py shell'), чтобы увидеть, что находится в sys.path. '..../foo' должен быть первым. Просто проверить ... как будто его там нет, я не знаю, как исправить! но если он есть, я думаю, что ваша проблема не проблема. Может быть, разрешения? Является ли '__init __ .py' пустым? – laurent

+0

Я исправил проблему (см. Ниже), но вы ответили на мой первоначальный вопрос, поэтому я поставил ваш вопрос как правильный. Спасибо за вашу помощь! – Lexo

1

Я исправил его, хотя я не знаю, какое решение сработало. Во-первых, я удалил файлы .pyc из своего проекта, после чего я повторно проиндексировал мой поиск в Windows (я предполагаю, что это произошло). Это изменило сообщение об ошибке на правильный каталог. После чего я понял, что я имел

from baz import settings 

в моем foobar/baz/models.py файл, который вызывает проблему все вместе. Я изменил это на

import settings 

, который исправил проблему. Спасибо laurent за вашу помощь :-)

+0

Да, я думаю, что удаление .pyc – laurent

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