title: Django-oscar error - django.core.exceptions.ImproperlyConfigured: Application labels aren't unique, duplicates: staticfiles
body: <p>I am trying to start Django-oscar and have followed the instructions as given <a href="http://django-oscar.readthedocs.org/en/latest/internals/getting_started.html" rel="nofollow">here</a>, but when I Try to use <code>python manage.py runserver</code> or <code>python manage.py migrate</code> I am getting the following error. I don't understand what this is, as I am new to Python and Django. Could someone give a solution to this?
  I am using Ubuntu, Python 2.7 and Django 1.8.</p>
  
  <pre><code>Unhandled exception in thread started by &lt;function wrapper at 0xb681072c&gt;
  Traceback (most recent call last):
    File "/usr/local/lib/python2.7/dist-packages/django/utils/autoreload.py", line 229, in wrapper
      fn(*args, **kwargs)
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/commands/runserver.py", line 107, in inner_run
      autoreload.raise_last_exception()
    File "/usr/local/lib/python2.7/dist-packages/django/utils/autoreload.py", line 252, in raise_last_exception
      six.reraise(*_exception)
    File "/usr/local/lib/python2.7/dist-packages/django/utils/autoreload.py", line 229, in wrapper
      fn(*args, **kwargs)
    File "/usr/local/lib/python2.7/dist-packages/django/__init__.py", line 18, in setup
      apps.populate(settings.INSTALLED_APPS)
    File "/usr/local/lib/python2.7/dist-packages/django/apps/registry.py", line 89, in populate
      "duplicates: %s" % app_config.label)
  django.core.exceptions.ImproperlyConfigured: Application labels aren't unique, duplicates: staticfiles
  </code></pre>
  
  <p>Here is my <code>settings.py</code> file</p>
  
  <pre><code>"""
  Django settings for frobshop project.
  
  Generated by 'django-admin startproject' using Django 1.8.6.
  
  For more information on this file, see
  https://docs.djangoproject.com/en/1.8/topics/settings/
  
  For the full list of settings and their values, see
  https://docs.djangoproject.com/en/1.8/ref/settings/
  """
  
  # Build paths inside the project like this: os.path.join(BASE_DIR, ...)
  import os
  import sys
  # print sys.path
  from oscar import get_core_apps, OSCAR_MAIN_TEMPLATE_DIR
  from oscar.defaults import *
  
  BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
  
  
  # Quick-start development settings - unsuitable for production
  # See https://docs.djangoproject.com/en/1.8/howto/deployment/checklist/
  
  # SECURITY WARNING: keep the secret key used in production secret!
  SECRET_KEY = '1=3_c^!p&amp;9of!*qrq4-muru%n2v_!+n*7ys3j8%ilrcypv%uvw'
  
  # SECURITY WARNING: don't run with debug turned on in production!
  DEBUG = True
  
  ALLOWED_HOSTS = []
  
  
  # Application definition
  
  INSTALLED_APPS = [
      'django.contrib.admin',
      'django.contrib.auth',
      'django.contrib.contenttypes',
      'django.contrib.sessions',
      'django.contrib.messages',
      'django.contrib.staticfiles',
      'django.contrib.flatpages',
  
      #Oscar specific
      'compressor',
      'widget_tweaks',
  ] + get_core_apps()
  
  SITE_ID = 1
  
  
  MIDDLEWARE_CLASSES = (
      'django.contrib.sessions.middleware.SessionMiddleware',
      'django.middleware.common.CommonMiddleware',
      'django.middleware.csrf.CsrfViewMiddleware',
      'django.contrib.auth.middleware.AuthenticationMiddleware',
      'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
      'django.contrib.messages.middleware.MessageMiddleware',
      'django.middleware.clickjacking.XFrameOptionsMiddleware',
      'django.middleware.security.SecurityMiddleware',
  
      #Oscar specific
      'oscar.apps.basket.middleware.BasketMiddleware',
      'django.contrib.flatpages.middleware.FlatpageFallbackMiddleware',
  )
  
  ROOT_URLCONF = 'frobshop.urls'
  
  TEMPLATES = [
      {
          'BACKEND': 'django.template.backends.django.DjangoTemplates',
          'DIRS': [
              os.path.join(BASE_DIR, 'templates'),
              #Oscar specific
              # OSCAR_MAIN_TEMPLATE_DIR
          ],
          'APP_DIRS': True,
          'OPTIONS': {
              'context_processors': [
                  'django.template.context_processors.debug',
                  'django.template.context_processors.request',
                  'django.contrib.auth.context_processors.auth',
                  'django.contrib.messages.context_processors.messages',
  
                  #Oscar specific
                  'oscar.apps.search.context_processors.search_form',
                  'oscar.apps.promotions.context_processors.promotions',
                  'oscar.apps.checkout.context_processors.checkout',
                  'oscar.apps.customer.notifications.context_processors.notifications',
                  'oscar.core.context_processors.metadata',
              ],
          },
      },
  ]
  
  WSGI_APPLICATION = 'frobshop.wsgi.application'
  
  
  # Database
  # https://docs.djangoproject.com/en/1.8/ref/settings/#databases
  
  DATABASES = {
      'default': {
          'ENGINE': 'django.db.backends.sqlite3',
          'NAME': os.path.join(BASE_DIR, 'db.sqlite3'),
          'USER': '',
          'PASSWORD': '',
          'HOST': '',
          'PORT': '',
          'ATOMIC_REQUESTS': True,
      }
  }
  
  
  #Oscar specific - To allow customers to sign in using an email address rather than a username.
  AUTHENTICATION_BACKENDS = (
      'oscar.apps.customer.auth_backends.EmailBackend',
      'django.contrib.auth.backends.ModelBackend',
  )
  
  HAYSTACK_CONNECTIONS = {
      'default': {
          'ENGINE': 'haystack.backends.solr_backend.SolrEngine',
          'URL': 'http://127.0.0.1:8983/solr',
          'INCLUDE_SPELLING': True,
      },
  }
  
  # Internationalization
  # https://docs.djangoproject.com/en/1.8/topics/i18n/
  
  LANGUAGE_CODE = 'en-us'
  
  TIME_ZONE = 'UTC'
  
  USE_I18N = True
  
  USE_L10N = True
  
  USE_TZ = True
  
  
  # Static files (CSS, JavaScript, Images)
  # https://docs.djangoproject.com/en/1.8/howto/static-files/
  
  STATIC_URL = '/static/'
  </code></pre>
  
  <p>[UPDATE]
  As he instructed, I removed the duplicate App, but, Now, I have the following error when I use <code>migrate</code></p>
  
  <pre><code>/usr/local/lib/python2.7/dist-packages/haystack/utils/__init__.py:12: RemovedInDjango19Warning: django.utils.importlib will be removed in Django 1.9.
    from django.utils import importlib
  
  /usr/local/lib/python2.7/dist-packages/django/contrib/sites/models.py:78: RemovedInDjango19Warning: Model class django.contrib.sites.models.Site doesn't declare an explicit app_label and either isn't in an application in INSTALLED_APPS or else was imported before its application was loaded. This will no longer be supported in Django 1.9.
    class Site(models.Model):
  
  Traceback (most recent call last):
    File "manage.py", line 10, in &lt;module&gt;
      execute_from_command_line(sys.argv)
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 354, in execute_from_command_line
      utility.execute()
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 328, in execute
      django.setup()
    File "/usr/local/lib/python2.7/dist-packages/django/__init__.py", line 18, in setup
      apps.populate(settings.INSTALLED_APPS)
    File "/usr/local/lib/python2.7/dist-packages/django/apps/registry.py", line 108, in populate
      app_config.import_models(all_models)
    File "/usr/local/lib/python2.7/dist-packages/django/apps/config.py", line 198, in import_models
      self.models_module = import_module(models_module_name)
    File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
      __import__(name)
    File "/usr/local/lib/python2.7/dist-packages/compressor/models.py", line 1, in &lt;module&gt;
      from compressor.conf import CompressorConf  # noqa
    File "/usr/local/lib/python2.7/dist-packages/compressor/conf.py", line 9, in &lt;module&gt;
      class CompressorConf(AppConf):
    File "/usr/local/lib/python2.7/dist-packages/appconf/base.py", line 75, in __new__
      new_class._configure()
    File "/usr/local/lib/python2.7/dist-packages/appconf/base.py", line 104, in _configure
      value = callback(value)
    File "/usr/local/lib/python2.7/dist-packages/compressor/conf.py", line 91, in configure_root
      'STATIC_ROOT, please define either')
  django.core.exceptions.ImproperlyConfigured: COMPRESS_ROOT defaults to STATIC_ROOT, please define either
  </code></pre>