未加载 Django 管理注释,但已配置 settings.INSTALLED_APPS

Django management comments not loaded, while settings.INSTALLED_APPS are configured

编辑: 管理命令。不是评论。自动更正..

我使用 django 1.7.final.0 有一段时间了,但现在正在尝试升级到 1.8(..最终升级到最新版本)。

当运行宁manage.py help时,我看到的命令只是基本命令。

我添加了打印语句,看看 INSTALLED_APPS 是否有效。

import os
import sys

if __name__ == "__main__":
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "config.settings")
    from config import settings
    print(settings.INSTALLED_APPS) # prints apps like django-extensions that have commands.
    from django.core.management import execute_from_command_line
    execute_from_command_line(sys.argv)

没有错误,只是没有列出其他命令。如果我尝试 运行 一个命令,比如 ./manage.py shell_plus 它 returns Unknown Command 如下所示。注意打印语句,说明可以读取INSTALLED_APPS

(venv) rootadmin@annotatie01:/data_nfs/opensurfaces2/server$ python manage.py shell_plus
('admin_tools', 'admin_tools.theming', 'admin_tools.menu', 'admin_tools.dashboard', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.sites', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.admin', 'django.contrib.admindocs', 'django.contrib.humanize', 'gunicorn', 'storages', 'queued_storage', 'django_extensions', 'account', 'django_forms_bootstrap', 'imagekit', 'compressor', 'endless_pagination', 'cacheback', 'captcha', 'mptt', 'debug_toolbar', 'cache_panel', 'memcache_status', 'common', 'home', 'accounts', 'analytics', 'licenses', 'poly', 'mturk', 'categories', 'photos', 'shapes', 'bsdfs', 'normals', 'intrinsic', 'points', 'boxes', 'matclass', 'paintings', 'binaryQuestion')
Unknown command: 'shell_plus'
Type 'manage.py help' for usage.
(venv) rootadmin@annotatie01:/data

确保您已与 Django 同时升级 django-extensions(其中包含 shell_plus),以便安装兼容版本。

在撰写本文时,最新版本 django-extensions 1.9.9 似乎支持 Django 1.8。但是将来您可能会发现最新版本在 2018 年 4 月停产后不支持 Django 1.8。

问题出在依赖项中。 MPTT 需要更新。

我使用下面的升级,现在可以了。

python -m pip install 'django-mptt==0.7'