我的python路径中的某些内容必须已更改,因为现在我无法运行。
python app/manage.py runserver
我得到的输出是
Unknown command: 'runserver'
Type 'manage.py help' for usage.
我查看了我的环境中的PYTHONPATH和PATH变量,但我无法弄清楚它为什么没有运行。
答案 0 :(得分:18)
我找到了问题的答案。
如果您要诊断此问题,请运行...
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文件完全删除文件夹可以解决问题。