【问题标题】:Django 1.4 Unknown command: 'runserver'Django 1.4 未知命令:'runserver'
【发布时间】:2013-01-30 20:57:13
【问题描述】:

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

python app/manage.py runserver

我得到的输出是

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

我查看了我的环境的 PYTHONPATH 和 PATH 变量,但我不知道为什么它没有运行。

【问题讨论】:

  • 这确实是最奇怪的。您使用的是什么操作系统?我很想建议重新安装 django。
  • 尝试创建一个新的空Django项目或环境+项目来本地化损坏?
  • “python app/manage.py help”输出什么?

标签: python django python-2.7


【解决方案1】:

我找到了问题的答案。

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

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

python app/manage.py help

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

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

【讨论】:

【解决方案2】:

查看manager.py 代码和django.core.management 我可以提出一些建议。

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

第二,运行:

>>> import sys
>>> sys.path

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

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

【讨论】:

    【解决方案3】:

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

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

    【讨论】:

      【解决方案4】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-30
        • 1970-01-01
        • 2020-09-16
        • 1970-01-01
        • 1970-01-01
        • 2013-05-05
        相关资源
        最近更新 更多