2015-10-17 13 views
13

Utknąłem z procesem, kiedy chciałem dzisiaj wdrożyć projekt django na serwerze. Kiedy uruchamiam python manage.py runserver na serwerze, terminal pokazuje mi tak:django: django.core.exceptions.AppRegistryNotReady: Aplikacje nie są jeszcze załadowane

Traceback (most recent call last): 
    File "manage.py", line 10, in <module> 
    execute_from_command_line(sys.argv) 
    File "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line 351, in execute_from_command_line 
    utility.execute() 
    File "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line 343, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line 177, in fetch_command 
    commands = get_commands() 
    File "/usr/lib/python2.7/site-packages/django/utils/lru_cache.py", line 101, in wrapper 
    result = user_function(*args, **kwds) 
    File "/usr/lib/python2.7/site-packages/django/core/management/__init__.py", line 72, in get_commands 
    for app_config in reversed(list(apps.get_app_configs())): 
    File "/usr/lib/python2.7/site-packages/django/apps/registry.py", line 137, in get_app_configs 
    self.check_apps_ready() 
    File "/usr/lib/python2.7/site-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. 

Wersja Django na serwerze jest 1.8.5 i 1.8.1 jest lokalna. Wątpię, żeby wersja mogła spowodować ten problem. Ale też wątpił wsgi.py nie został poprawnie napisane, oto wsgi.py:

import os 
import sys 

path = '/Users/Peterhon/Desktop/dict/' 
if path not in sys.path: 
    sys.path.append(path) 

os.chdir(path) 

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "dict.settings") 

import django 
django.setup() 

from django.core.wsgi import get_wsgi_application 
application = get_wsgi_application() 

Oto plik manage.py:

#!/usr/bin/env python 
import os 
import sys 

if __name__ == "__main__": 
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "dict.settings") 

    from django.core.management import execute_from_command_line 

    execute_from_command_line(sys.arg) 

Kiedy uruchomić Pythona manage.py czek na serwerze, wyjście jest poniżej :

#!/usr/bin/env python 
import os 
import sys 

if __name__ == "__main__": 
    os.environ.setdefault("DJANGO_SETTINGS_MODULE", "dict.settings") 

    from django.core.management import execute_from_command_line 

    execute_from_command_line(sys.argv) 

Czy ktoś może mi dać wskazówki? Wielkie dzięki

+0

Jak wygląda twój plik 'manage.py'? Dostosowałeś to? – jamesc

+4

Również, jaki jest wynik uzyskany z kontroli systemu? 'python manage.py check' – jamesc

+0

@jamesc Nie dostosowałem pliku' manage.py'. :-( –

Odpowiedz

14

Może to być problem z ustawieniami Django. Na przykład właśnie podałem w LOGGING nazwę pliku w nieistniejącym katalogu. Gdy tylko zmieniłem go w istniejący katalog, problem został rozwiązany.

+5

Miał problem z mysql i po uruchomieniu 'python manage.py check' dostał Library not loaded : /usr/local/lib/libmysqlclient.18.dylib ale 'python manage.py runserver' daje błąd nie załadowany Apps, więc wygląda na to, że wszelkie problemy z ustawieniami lub konfiguracją mogą spowodować ten błąd. – PhoebeB

4

./manage.py runserver użyjesz swojego wsgi.py, ale wygląda na to, że ślad stosu, który pokazałeś u góry, nie zawiera pliku wsgi. Dlatego błąd występuje przed załadowaniem pliku wsgi.

Nie mogę odtworzyć twojego błędu, ale ponieważ wydajesz się używać nowego stylu wsgi i jak wspomniałeś "wersja django na serwerze to 1.8.5, a lokalna to 1.8.1", Zastanawiam się, czy coś może być nie tak w twoim środowisku.

My zaproponował kroki:

  1. odbudować swoją virtualenv. Usuń folder env i zainstaluj go ponownie pod numerem pip install -r requirements.txt lub podobnym.
  2. Sprawdź inne pytania na temat StackOverflow - wydaje się, że jest to częsty problem. E.g jak wyżej: Django 1.7 throws django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet

Mam nadzieję, że ktoś z większym doświadczeniem będzie mógł dodawać sugestie. Niestety nie mam dla ciebie ostatecznej odpowiedzi.

+0

'raise AppRegistryNotReady (" Aplikacje nie są jeszcze załadowane. ")' To wyraźnie brzmi jak inny błąd niż modele jeszcze nie załadowane ... – christophe31

5

Wpadłem dzisiaj na ten problem. Nie było aplikacji w INSTALLED_APPS. Po usunięciu rozwiązał wyjątek. Aplikacje, których nie można importować z jakiegokolwiek powodu, również powodują wyjątek AppRegistryNotReady.

Here's the bug history for this issue.

+0

Albo aplikacja INSTALLED_app nie działa prawidłowo... – zypro

0

Nie może być problem w pliku settings.py. W szczególności INSTALLED_APPS sprawdza, czy poprawnie włączyłeś aplikacje i oddzieliłeś je od ",".

Powiązane problemy