2012-03-24 9 views
20

Próbuję zainstalować GRAPHITE na ubuntu. Postępuję zgodnie z instrukcjami na blogu.Błąd Django podczas instalacji Graphite - settings.DATABASES jest niepoprawnie skonfigurowany. Proszę podać wartość ENGINE

http://geek.michaelgrace.org/2011/09/how-to-install-graphite-on-ubuntu/ 

Kiedy dojdę do części, w której uruchomię polecenie .. Otrzymuję poniższy błąd. Nie mam pojęcia, jak rozwiązać. Używam najnowszej wersji Django 1.4.

cd /opt/graphite/webapp/graphite/ 
sudo python manage.py syncdb 


sudo python manage.py syncdb 
/opt/graphite/webapp/graphite/thirdparty/pytz/__init__.py:32: UserWarning: Module pytz was already imported from /opt/graphite/webapp/graphite/thirdparty/pytz/__init__.pyc, but /usr/local/lib/python2.7/dist-packages/pytz-2012b-py2.7.egg is being added to sys.path 
    from pkg_resources import resource_stream 
Traceback (most recent call last): 
    File "manage.py", line 11, in <module> 
    execute_manager(settings) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 459, in execute_manager 
    utility.execute() 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 382, in execute 
    self.fetch_command(subcommand).run_from_argv(self.argv) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 196, in run_from_argv 
    self.execute(*args, **options.__dict__) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 232, in execute 
    output = self.handle(*args, **options) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/base.py", line 371, in handle 
    return self.handle_noargs(**options) 
    File "/usr/local/lib/python2.7/dist-packages/django/core/management/commands/syncdb.py", line 57, in handle_noargs 
    cursor = connection.cursor() 
    File "/usr/local/lib/python2.7/dist-packages/django/db/backends/dummy/base.py", line 15, in complain 
    raise ImproperlyConfigured("settings.DATABASES is improperly configured. " 
django.core.exceptions.ImproperlyConfigured: settings.DATABASES is improperly configured. Please supply the ENGINE value. Check settings documentation for more details. 

W pliku /opt/graphite/webapp/graphite/settings.py jest to zawartość.

#Database settings, sqlite is intended for single-server setups 
DATABASE_ENGINE = 'sqlite3'      # 'postgresql', 'mysql', 'sqlite3' or 'ado_mssql'. 
DATABASE_NAME = STORAGE_DIR + 'graphite.db'  # Or path to database file if using sqlite3. 
DATABASE_USER = ''        # Not used with sqlite3. 
DATABASE_PASSWORD = ''       # Not used with sqlite3. 
DATABASE_HOST = ''        # Set to empty string for localhost. Not used with sqlite3. 
DATABASE_PORT = ''        # Set to empty string for default. Not used with sqlite3. 

DASHBOARD_CONF = join(CONF_DIR, 'dashboard.conf') 
GRAPHTEMPLATES_CONF = join(CONF_DIR, 'graphTemplates.conf') 

Odpowiedz

9

Musisz edytować settings.py i ustawić zawartość zmiennej DATABASES do czegoś innego niż pustych strunach. Istnieje komentarze obok niego, że powiedzieć, które wspierane są silniki bazodanowe:

DATABASES = { 
    'default': { 
     'ENGINE': 'django.db.backends.', # Add 'postgresql_psycopg2', 'postgresql', 'mysql', 'sqlite3' or 'oracle'. 
     'NAME': '',      # Or path to database file if using sqlite3. 
     'USER': '',      # Not used with sqlite3. 
     'PASSWORD': '',     # Not used with sqlite3. 
     'HOST': '',      # Set to empty string for localhost. Not used with sqlite3. 
     'PORT': '',      # Set to empty string for default. Not used with sqlite3. 
    } 
} 

Jeśli nie masz nic innego zainstalowany, można dołączyć sqlite3 do łańcucha ENGINE który jest łatwy do rozwoju na lokalnym komputerze.

+0

Witam, zobacz moją edycję. To jest plik ustawień, który został utworzony. – Tampa

+0

Jakiej wersji Django używasz? Twój plik ustawień zawiera wiele zmiennych 'DATABASE_' (to stary sposób robienia tego), podczas gdy twój Django wydaje się poszukiwać zmiennej' DATABASES' (która jest nowym sposobem konfigurowania ustawień bazy danych). –

+0

Używam 1.4 z pnia – Tampa

1

po prostu dodać do słownika baz danych do końca pliku, works.I to nadzieję, że grafit może działać w oparciu o Django 1.4.1

14

graphite version 0.9.10 supports Django 1.4 ... jednak włożyli SQLite ustawienia w Django local_settings.py

[[email protected] graphite]$ cat local_settings.py|grep -v \# 
DATABASES = { 
    'default': { 
     'NAME': '/opt/graphite/storage/graphite.db', 
     'ENGINE': 'django.db.backends.sqlite3', 
     'USER': '', 
     'PASSWORD': '', 
     'HOST': '', 
     'PORT': '' 
    } 
} 
[[email protected] graphite]$ 
[[email protected] graphite]$ pwd 
/opt/graphite/webapp/graphite 
[[email protected] graphite]$ 
9

dla użytkowników lądowania tutaj z komunikatem o błędzie „ustawienie SECRET_KEY nie musi być pusty”, upewnij się, aby ustawić klucz tajny w /opt/graphite/webapp/graphite/app_settings.py jak również w twoja konfiguracja django.