web-dev-qa-db-ja.com

Django Graphiteのインストール時にエラーが発生しました-settings.DATABASESが正しく構成されていません。ENGINE値を指定してください

UbuntuにGRAPHITEをインストールしようとしています。私はブログの指示に従います。

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

コマンドを実行する部分に到達すると、以下のエラーが発生します。解決方法がわかりません。 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.

/opt/graphite/webapp/graphite/settings.pyファイルでは、これが内容です。

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

graphiteバージョン0.9.10はDjango 1.4 ...をサポートしますが、sqlite設定をDjangoのlocal_settings.py

[mpenning@tsunami graphite]$ cat local_settings.py|grep -v \#
DATABASES = {
    'default': {
        'NAME': '/opt/graphite/storage/graphite.db',
        'ENGINE': 'Django.db.backends.sqlite3',
        'USER': '',
        'PASSWORD': '',
        'Host': '',
        'PORT': ''
    }
}
[mpenning@tsunami graphite]$
[mpenning@tsunami graphite]$ pwd
/opt/graphite/webapp/graphite
[mpenning@tsunami graphite]$
14
Mike Pennington

「SECRET_KEY設定は空であってはなりません」というエラーメッセージが表示されてここにアクセスするユーザーの場合、秘密鍵を/opt/graphite/webapp/graphite/app_settings.pyとDjango構成。

9
Girish Nair

settings.pyを編集し、DATABASES変数の内容を空の文字列以外に設定する必要があります。その横に、サポートされているデータベースエンジンを示すコメントがあります。

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

他に何もインストールしていない場合は、sqlite3ENGINE文字列に追加できます。これは、ローカルマシンでの開発が簡単です。

9
Simeon Visser

ファイルの最後にDATABASESディクショナリを追加するだけで、機能します。グラファイトがDjango 1.4.1に基づいて実行できることを願っています。

1
feng