【发布时间】:2017-11-14 22:46:28
【问题描述】:
我正在将一个大型项目从 Django 1.8 迁移到 Django 1.9,当我尝试运行该项目时,我得到了 AppRegistryNotReady 异常。这个问题的回溯似乎完全没有帮助。
Traceback (most recent call last):
File "/opt/project/myproject/manage.py", line 16, in <module>
execute_from_command_line(sys.argv)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 350, in execute_from_command_line
utility.execute()
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 342, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 176, in fetch_command
commands = get_commands()
File "/usr/local/lib/python2.7/dist-packages/django/utils/lru_cache.py", line 100, in wrapper
result = user_function(*args, **kwds)
File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 71, in get_commands
for app_config in reversed(list(apps.get_app_configs())):
File "/usr/local/lib/python2.7/dist-packages/django/apps/registry.py", line 137, in get_app_configs
self.check_apps_ready()
File "/usr/local/lib/python2.7/dist-packages/django/apps/registry.py", line 124, in check_apps_ready
raise AppRegistryNotReady("Apps aren't loaded yet.")
django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.
既然回溯中没有我项目的代码,我该如何追踪这个问题的根源?
【问题讨论】:
-
检查您应用的
__init__.py文件是否未导入任何模型(请参阅 this question)。 -
这个问题可能是由从 PyPi 安装的应用程序引起的,这比我自己的代码更难检查。有没有办法让 python 或 Django 告诉我哪个应用程序触发了异常?
-
正如你所说,错误发生在 Django 的代码中,所以没有简单的方法来判断是哪个应用程序导致了问题。
标签: python django debugging django-apps