2012-03-24 9 views
20

Sto cercando di installare GRAPHITE su ubuntu. Seguo le istruzioni nel blog.Errore Django durante l'installazione di Graphite - settings.DATABASES non è configurato correttamente. Si prega di fornire il valore del MOTORE

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

Quando arrivo alla parte in cui eseguo il comando..Vedo il seguente errore. Non ho idea su come risolvere. Sto usando l'ultima versione di 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. 

Nel file /opt/graphite/webapp/graphite/settings.py, questo è il contenuto.

#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') 

risposta

9

è necessario modificare settings.py e impostare il contenuto della variabile DATABASES a qualcosa di diverso da stringhe vuote. Ci sono commenti accanto ad essa che ti dicono che sono supportati motori di database:

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. 
    } 
} 

Se non hai niente altro installato, è possibile accodare sqlite3 alla stringa ENGINE che è facile per lo sviluppo sulla macchina locale.

+0

Ciao, vedi la mia modifica. Questo è il file delle impostazioni che è stato creato. – Tampa

+0

Quale versione di Django stai usando? Il tuo file di impostazioni ha più variabili 'DATABASE_' in esso (che è il vecchio modo di farlo) mentre il tuo Django sembra cercare la variabile' DATABASES' (che è il nuovo modo di configurare le impostazioni del database). –

+0

Sto usando 1.4 dal trunk – Tampa

1

Ho appena aggiungere il dizionario database per la fine del file, lavori.Spero la grafite può essere eseguito in base alla Django 1.4.1

14

graphite version 0.9.10 supports Django 1.4 ... però hanno messo le impostazioni SQLite in Django di 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

per gli utenti che atterrano qui con il messaggio di errore "l'impostazione SECRET_KEY non deve essere vuoto", assicurarsi di impostare la chiave segreta in /opt/graphite/webapp/graphite/app_settings.py così come in la tua configurazione di Django.

Problemi correlati