django.core.exceptions.AppRegistryNotReady:尚未加载应用程序但尚未在pycharm上启动调试

时间:2016-07-26 21:23:06

标签: python django virtualenv

我使用python 2.7.10运行的Django(版本1.9)应用程序和我使用Virtualenv。 使用./manage.py runserver运行应用程序我没有错误,但是当我尝试在调试中运行时,我得到了django.core.exceptions.AppRegistryNotReady: Apps aren't loaded yet.

这是pycharm调试配置:

enter image description here 知道为什么吗? 这里是完整的堆栈跟踪:

   /Users/matteobetti/Progetti/Enydros/enysoft/bin/python ./manage.py runserver
    Traceback (most recent call last):
      File "./manage.py", line 10, in <module>
        execute_from_command_line(sys.argv)
      File "/Users/matteobetti/Progetti/Enydros/enysoft/lib/python2.7/site-packages/django/core/management/__init__.py", line 350, in execute_from_command_line
        utility.execute()
      File "/Users/matteobetti/Progetti/Enydros/enysoft/lib/python2.7/site-packages/django/core/management/__init__.py", line 342, in execute
        self.fetch_command(subcommand).run_from_argv(self.argv)
      File "/Users/matteobetti/Progetti/Enydros/enysoft/lib/python2.7/site-packages/django/core/management/__init__.py", line 176, in fetch_command
        commands = get_commands()
      File "/Users/matteobetti/Progetti/Enydros/enysoft/lib/python2.7/site-packages/django/utils/lru_cache.py", line 100, in wrapper
        result = user_function(*args, **kwds)
      File "/Users/matteobetti/Progetti/Enydros/enysoft/lib/python2.7/site-packages/django/core/management/__init__.py", line 71, in get_commands
        for app_config in reversed(list(apps.get_app_configs())):
      File "/Users/matteobetti/Progetti/Enydros/enysoft/lib/python2.7/site-packages/django/apps/registry.py", line 137, in get_app_configs
        self.check_apps_ready()
      File "/Users/matteobetti/Progetti/Enydros/enysoft/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.

我在import django

之前添加django.setup e execute_from_command_line(sys.argvs)

我得到了这个堆栈跟踪:

Traceback (most recent call last):
  File "/Users/matteobetti/Progetti/Enydros/enysoft/manage.py", line 10, in <module>
    django.setup()
  File "/Users/matteobetti/Progetti/Enydros/enysoft/lib/python2.7/site-packages/django/__init__.py", line 18, in setup
    apps.populate(settings.INSTALLED_APPS)
  File "/Users/matteobetti/Progetti/Enydros/enysoft/lib/python2.7/site-packages/django/apps/registry.py", line 85, in populate
    app_config = AppConfig.create(entry)
  File "/Users/matteobetti/Progetti/Enydros/enysoft/lib/python2.7/site-packages/django/apps/config.py", line 90, in create
    module = import_module(entry)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.py", line 37, in import_module
    __import__(name)
  File "/Users/matteobetti/Progetti/Enydros/enysoft/frontend/apps.py", line 2, in <module>
    from frontend.services.container import app_context
  File "/Users/matteobetti/Progetti/Enydros/enysoft/frontend/services/container.py", line 1, in <module>
    from frontend.services.enysoft_services import RService, FixedSizeDirectoryCache, TubeSectionService, CsvSanifier
  File "/Users/matteobetti/Progetti/Enydros/enysoft/frontend/services/enysoft_services.py", line 5, in <module>
    import rpy2.robjects as ro
  File "/Users/matteobetti/Progetti/Enydros/enysoft/lib/python2.7/site-packages/rpy2/robjects/__init__.py", line 15, in <module>
    import rpy2.rinterface as rinterface
  File "/Users/matteobetti/Progetti/Enydros/enysoft/lib/python2.7/site-packages/rpy2/rinterface/__init__.py", line 16, in <module>
    tmp = subprocess.check_output(("R", "RHOME"), universal_newlines=True)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 566, in check_output
    process = Popen(stdout=PIPE, *popenargs, **kwargs)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 710, in __init__
    errread, errwrite)
  File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 1335, in _execute_child
    raise child_exception
OSError: [Errno 2] No such file or directory

另一个要说的是,我的同事对linux使用相同的virtualenv配置没有问题,唯一有问题的是我,使用mac Os。

1 个答案:

答案 0 :(得分:1)

尝试将您的设置文件添加到系统PATH。在我的项目中,设置位于文件夹/project_name/project_name/settings/development.py中(与标准方式略有不同)。在我的情况下,环境变量字符串是

DJANGO_SETTINGS_MODULE=project_name.settings.development;PYTHONUNBUFFERED=1

因此请根据您的参数进行更改,然后再次尝试运行服务器。我希望这会有所帮助。

相关问题