diff --git a/django/core/management/__init__.py b/django/core/management/__init__.py index 32e744374a..a61b648674 100644 --- a/django/core/management/__init__.py +++ b/django/core/management/__init__.py @@ -97,8 +97,8 @@ def get_commands(): # Find the installed apps try: - from django.conf import settings - apps = settings.INSTALLED_APPS + from django.core.apps import cache + apps = cache.installed_apps except (AttributeError, EnvironmentError, ImportError): apps = [] @@ -419,6 +419,12 @@ def setup_environ(settings_mod, original_settings_path=None): project_module = import_module(project_name) sys.path.pop() + # Initialize the appcache and look for errors + from django.core.apps import cache + for (app_name, error) in cache.get_app_errors().items(): + sys.stderr.write("%s: %s" % (app_name, error)) + sys.exit(1) + return project_directory def execute_from_command_line(argv=None):