11

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

python app/manage.py runserver

我得到的输出是

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

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

4

4 回答 4

18

我找到了我的问题的答案。

  • 如果您的设置有错误,manage.py 将吞下异常并报告该命令不存在。
  • 这导致我错误地假设我的 python 路径或 venv 环境被搞砸了。

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

python app/manage.py help

...它会显示异常。当然,这是 django shell 在告诉我找不到该命令后所推荐的。

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

于 2013-02-15T18:08:39.647 回答
1

浏览manager.py代码,django.core.management我可以提出一些建议。

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

二、运行:

>>> import sys
>>> sys.path

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

第三,(这是所有镜头中最长的)如果您已更改 的DEFAULT_PORT,请runserver尝试将其更改回8000

于 2013-02-15T11:27:46.397 回答
0

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

因此,对于在这里寻找解决方案的任何人,建议检查运行 django 项目和纯 manage.py 之间的情况差异,也许您会发现问题所在。

于 2014-02-27T09:29:29.360 回答
0

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

当我在服务器上拉取更改时,我的存储库的 Django 文件副本被删除,但 .pyc 文件没有被删除。manage.py仍然会导入旧的 .pyc 文件,使导入中断一半,错误是相同的“未知命令:运行服务器”。

自然,完全删除包含 .pyc 文件的文件夹可以解决问题。

于 2016-09-05T07:27:52.927 回答