Django 1.4未知命令:'runserver'

时间:2013-02-14 22:31:47

标签: python django python-2.7

我的python路径中的某些内容必须已更改,因为现在我无法运行。

python app/manage.py runserver

我得到的输出是

Unknown command: 'runserver'
Type 'manage.py help' for usage.

我查看了我的环境中的PYTHONPATH和PATH变量,但我无法弄清楚它为什么没有运行。

4 个答案:

答案 0 :(得分:18)

我找到了问题的答案。

  • 如果您的设置出现错误,manage.py将吞下该异常并报告,就好像该命令不存在一样。
  • 这导致我错误地认为我的python路径或venv环境搞砸了。

如果您要诊断此问题,请运行...

python app/manage.py help

...它会显示异常。当然,这是django shell在告诉我没有找到命令后推荐的内容。

这显然是Django 1.4中的一个错误。在我看来,无论你运行什么样的管理命令,都应该报告异常。

答案 1 :(得分:1)

仔细阅读manager.py代码和django.core.management,我可以提出一些建议。

首先,检查文件<some_path>/django/core/management/commands/runserver.py是否存在。

其次,运行:

>>> import sys
>>> sys.path

如果上述<some_path>不在此列表中,则必须设置PYTHONPATH变量。

第三,(并且这是所有镜头中最长的)如果您更改了DEFAULT_PORT的{​​{1}},请尝试将其更改回runserver

答案 2 :(得分:0)

我同意OP。我遇到了同样的问题,结果证明是settings.py中的错误:
在settings.py中,我使用os.environ[something],并在apache启动脚本中加载这些环境变量。如果我从命令行运行manage.py,它不知道os.environ[something]是什么,从而发生错误。

所以对于搜索解决方案的人来说,建议检查运行django项目和纯manage.py之间的环境差异,也许你会发现什么是错的。

答案 3 :(得分:0)

我会将我的答案添加到我遇到的同样问题中。这与Django版本无关,但在我的项目的旧实例中,我提供了自己的Django副本,而不是从pip安装。后来我决定使用Pip安装Django。

当我在服务器上提取更改时,我的repo的Django文件副本被删除但不是.pyc文件。 manage.py仍会导入旧的.pyc文件,导致导入中断,错误相同&#34;未知命令:runserver&#34;。

当然,使用.pyc文件完全删除文件夹可以解决问题。