2015-10-17 18 views
13

今日私はサーバー上でdjangoプロジェクトを展開したいと思っていました。私は、サーバー上でpython manage.py runserverを実行すると、端末は私にこの例を示しますdjango:django.core.exceptions.AppRegistryNotReady:アプリケーションはまだロードされていません

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. 

をサーバ上でDjangoのバージョンは1.8.5で、地元は1.8.1です。バージョンによってこの問題が発生する可能性があるとは思っていません。ここで

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() 

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) 

私は、サーバー上のpython manage.pyチェックを実行し、出力は以下の通りです。しかし、私はまたここにwsgi.pyだ、wsgi.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.argv) 

誰でも私にいくつかのヒントを教えてください。ありがとうございました

+0

あなたの 'manage.py'ファイルはどのようなものですか?あなたはそれをカスタマイズしましたか? – jamesc

+4

また、システムチェックから得られる出力は何ですか? 'python manage.py check' – jamesc

+0

@ jamesc私は' manage.py'ファイルをカスタマイズしていません。 :-( –

答えて

14

これはDjangoの設定に問題がある可能性があります。たとえば、存在しないディレクトリのファイル名をLOGGINGに指定しただけです。私がそれを既存のディレクトリに変更すると、問題は解決されました。

+5

mysqlに問題があり、 'python manage.py check'を実行したときライブラリが読み込まれませんでした:/usr/local/lib/libmysqlclient.18.dylibしかし、 'python manage.py runserver'は、アプリケーションが読み込まれないというエラーを表示し、設定や設定に関する問題がこのエラーを引き起こす可能性があります。 – PhoebeB

4

./manage.py runserverwsgi.pyを使用しますが、上部に表示されているスタックトレースにはwsgiファイルが含まれていないようです。したがって、wsgiファイルがロードされる前にエラーが発生しています。

私はあなたのエラーを再現できませんが、あなたは新しいスタイルのwsgiを使用しているようだから、 "サーバー上のdjangoバージョンは1.8.5で、ローカルは1.8.1です"あなたの環境に何か問題があるかどうか疑問に思っています。

  1. はあなたのvirtualenvのを再構築します。

    私は手順がある提案しました。 envフォルダを削除し、pip install -r requirements.txtなどで再インストールしてください。

  2. StackOverflowに関する他の質問をチェックしてください - これはよくある問題です。たとえば、上記のように:Django 1.7 throws django.core.exceptions.AppRegistryNotReady: Models aren't loaded yet

もっと経験のある方には、提案を追加していただけたらと思います。申し訳ありませんが、私はあなたに決定的な答えを持っていません。

+0

'raise AppRegistryNotReady("アプリケーションはまだ読み込まれていません。 ")'それはまだ読み込まれていないモデルよりも明らかに他のエラーのようです... – christophe31

5

今日、この問題が発生しました。 INSTALLED_APPSに存在しないアプリがありました。それが削除されると、例外が解決されました。何らかの理由でインポートできないアプリも、AppRegistryNotReady例外を発生させます。

Here's the bug history for this issue.

+0

INSTALLED_appが動作しません正しく... – zypro

0

あなたのsettings.pyファイルで問題が存在する場合があります。具体的には、INSTALLED_APPSはアプリを正しく含めて「、」で区切っているかどうかを確認します。

関連する問題