Django 1.4 Неизвестная команда: 'runningerver'
Что-то в моем пути python должно быть изменено, потому что теперь я не могу запустить.
python app/manage.py runserver
Выход, который я получаю,
Unknown command: 'runserver'
Type 'manage.py help' for usage.
Я просмотрел переменные PYTHONPATH и PATH в моей среде, но я не могу понять, почему он не работает.
Ответы
Ответ 1
Я нашел ответ на свой вопрос.
- Если у вас есть ошибка в ваших настройках, manage.py проглотит исключение и сообщит, как будто команда не существует.
- Это привело меня к неправильному допущению, что мой путь к python или среда venv были испорчены.
Если вы хотите диагностировать эту проблему, запустите...
python app/manage.py help
... и он покажет исключение. Это, конечно, было тем, что было рекомендовано оболочкой django после того, как он сказал мне, что команда не найдена.
Это явно ошибка в Django 1.4. Мне кажется, исключение должно быть сообщено независимо от того, какую команду управления вы выполняете.
Ответ 2
Просматривая код manager.py
и django.core.management
, я могу придумать некоторые предложения.
Сначала проверьте, существует ли файл <some_path>/django/core/management/commands/runserver.py
.
Во-вторых, запустите:
>>> import sys
>>> sys.path
Если вышеупомянутый <some_path>
отсутствует в этом списке, вы должны установить переменную PYTHONPATH
.
В-третьих, (и это самый длинный из всех снимков), если вы изменили DEFAULT_PORT
на runserver
, попробуйте изменить его на 8000
.
Ответ 3
Я согласился с ОП. Я встретил ту же проблему, и она оказалась ошибкой в settings.py
:
В settings.py я использую os.environ[something]
, и эти переменные среды загружаются в apache start script. Если я запустил manage.py
из командной строки, он не знает, что такое os.environ[something]
, поэтому возникает ошибка.
Итак, для всех, кто ищет решение, рекомендуем проверить разницу обстоятельств между запуском проекта django и чистым manage.py, возможно, вы обнаружите, что не так.
Ответ 4
Я добавлю свой ответ на ту же проблему, что и у меня. Это было не связано с версией Django, но в старом экземпляре моего проекта я предоставлял свою собственную копию Django, а не установку из pip. Позже я решил использовать установленный Django.
Когда я вытащил изменения на сервере, моя копия файлов Django была удалена, но не .pyc файлы. manage.py
по-прежнему будет импортировать старые .pyc файлы, в результате чего импорт прерывается на полпути, а ошибка будет такой же "Неизвестная команда: runningerver".
Естественно, что полное удаление папки с файлами .pyc устранило проблему.