在 Ubuntu 12.10 上安装 Graphite

在 Ubuntu 12.10 上安装 Graphite

我正在尝试在 Ubuntu 12.10 上安装并运行 Graphite。为此,我遵循了此操作手动的

不幸的是在这一步:

接下来,我们将配置 Graphite 数据库。转到 Graphite webapp 目录并运行数据库脚本:

cd /opt/graphite/webapp/graphite/

sudo python manage.py syncdb

我收到以下错误:

Could not import graphite.local_settings, using defaults!
Could not import graphite.local_settings, using defaults!
Traceback (most recent call last):
  File "manage.py", line 11, in <module>
    execute_manager(settings)
  File "/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", line 459, in execute_manager
    utility.execute()
  File "/usr/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/lib/python2.7/dist-packages/django/core/management/base.py", line 196, in run_from_argv
    self.execute(*args, **options.__dict__)
  File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", line 231, in execute
    self.validate()
  File "/usr/lib/python2.7/dist-packages/django/core/management/base.py", line 266, in validate
    num_errors = get_validation_errors(s, app)
  File "/usr/lib/python2.7/dist-packages/django/core/management/validation.py", line 30, in get_validation_errors
    for (app_name, error) in get_app_errors().items():
  File "/usr/lib/python2.7/dist-packages/django/db/models/loading.py", line 158, in get_app_errors
    self._populate()
  File "/usr/lib/python2.7/dist-packages/django/db/models/loading.py", line 67, in _populate
    self.load_app(app_name)
  File "/usr/lib/python2.7/dist-packages/django/db/models/loading.py", line 88, in load_app
    models = import_module('.models', app_name)
  File "/usr/lib/python2.7/dist-packages/django/utils/importlib.py", line 35, in import_module
    __import__(name)
  File "/opt/graphite/webapp/graphite/events/models.py", line 6, in <module>
    from tagging.managers import ModelTaggedItemManager
  File "/usr/local/lib/python2.7/dist-packages/django_tagging-0.3.2-py2.7.egg/tagging/managers.py", line 8, in <module>
    from .models import Tag, TaggedItem
  File "/usr/local/lib/python2.7/dist-packages/django_tagging-0.3.2-py2.7.egg/tagging/models.py", line 7, in <module>
    from django.utils.encoding import python_2_unicode_compatible
ImportError: cannot import name python_2_unicode_compatible

造成该问题的原因是什么?

我该如何修复它?

答案1

今天,我使用与您相同的手册遇到了完全相同的问题。我猜问题与为 2.7 安装了一些 Python 依赖项,而为 3.2 安装了一些依赖项有关。所以我决定只安装 2.7 并跳过 3.2 的所有软件包。

$ sudo apt-get install apache2 apache2-mpm-worker \
    apache2-utils apache2.2-bin apache2.2-common libapr1 libaprutil1 \
    libaprutil1-dbd-sqlite3 build-essential \
    python-dev \
    libapache2-mod-wsgi libaprutil1-ldap memcached \
    python-cairo-dev python-ldap python-memcache \
    python-pysqlite2 sqlite3 erlang-os-mon erlang-snmp rabbitmq-server \
    bzr expect libapache2-mod-python python-setuptools

$ sudo easy_install django django-tagging zope.interface twisted txamqp

当我使用这两个命令代替手册中的命令时,我不再收到您提到的错误:

ImportError: cannot import name python_2_unicode_compatible

相关内容