Недавно я переместил приложение django из c:\Users\user\django-projects\foo\foobar
в c:\Python25\Lib\site-packages\foo\foobar
(которое находится на пути Python). Я запустил новое приложение в каталоге django-projects
и добавил foo.foobar
в настройку INSTALLED_APPS
. Когда я пытаюсь запустить сервер разработки (manage.py runserver
) для своего нового приложения, я получаю сообщение об ошибке ImportError: No module named foobar
.
Просматривая трассировку, он ищет в c:\Users\user\django-projects\foo\..\foo\foobar
приложение foobar
. Я проверил свои переменные среды PATH
и 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
2 ответа
manage.py
импортирует settings.py из текущего каталога и передает settings
в качестве параметра в execute_manager
. Вероятно, вы определили корень проекта в settings.py.
Я исправил это, хотя не знаю, какое решение сработало. Сначала я удалил файлы .pyc
из своего проекта, затем переиндексировал поиск в Windows (я предполагаю, что это сделало это). Это изменило сообщение об ошибке на правильный каталог. После чего я понял, что
from baz import settings
В моем файле foobar/baz/models.py
, который все время был причиной проблемы. Я изменил это на
import settings
Что устранило проблему. Спасибо laurent за вашу помощь :-)
Похожие вопросы
Новые вопросы
python
Python - это многопарадигмальный, динамически типизированный, многоцелевой язык программирования. Он разработан для быстрого изучения, понимания и использования, а также для обеспечения чистого и единообразного синтаксиса. Обратите внимание, что Python 2 официально не поддерживается с 01.01.2020. Тем не менее, для вопросов о Python, связанных с версией, добавьте тег [python-2.7] или [python-3.x]. При использовании варианта Python (например, Jython, PyPy) или библиотеки (например, Pandas и NumPy) включите его в теги.