5

我几乎可以按照这里的所有说明进行操作

但是当我到达

[idf@node1 graphite]$ cd /opt/graphite/webapp/graphite/
[idf@node1 graphite]$ sudo python manage.py syncdb
Could not import graphite.local_settings, using defaults!
/opt/graphite/webapp/graphite/settings.py:244: UserWarning: SECRET_KEY is set to an unsafe default. This should be set in local_settings.py for better security
  warn('SECRET_KEY is set to an unsafe default. This should be set in local_settings.py for better security')
ImportError: No module named fields
[idf@node1 graphite]$ 

不知道为什么我会收到这个错误?

我也尝试了这些说明,它大约挂在同一个地方

https://www.digitalocean.com/community/tutorials/how-to-keep-effective-historical-logs-with-graphite-carbon-and-collectd-on-centos-7

[idf@node1 graphite]$ sudo PYTHONPATH=/opt/graphite/webapp/ django-admin.py syncdb --settings=graphite.settings
/var/tmp/sclHwyLM6: line 8: PYTHONPATH=/opt/graphite/webapp/: No such file or directory
[idf@node1 graphite]$ 

如果我回显 PYTHONPATH,我会得到

[idf@node1 ~]$ echo $PYTHONPATH
/usr/lib64/python2.7/site-packages/openmpi
[idf@node1 ~]$ 

所以我然后创建

/etc/profile.d/local_python.sh 

与内容

PYTHONPATH="/opt/graphite/webapp/":"${PYTHONPATH}"
export PYTHONPATH

我创建了一个新的 shell,现在 echo 看起来是正确的

[idf@node1 graphite]$ echo $PYTHONPATH
/opt/graphite/webapp/:/usr/lib64/python2.7/site-packages/openmpi
[idf@node1 graphite]$ 

现在我跑

[idf@node1 graphite]$ sudo django-admin.py syncdb --settings=graphite.settings
Traceback (most recent call last):
  File "/home/idf/anaconda/bin/django-admin.py", line 5, in <module>
    management.execute_from_command_line()
  File "/home/idf/anaconda/lib/python2.7/site-packages/django/core/management/__init__.py", line 453, in execute_from_command_line
    utility.execute()
  File "/home/idf/anaconda/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File "/home/idf/anaconda/lib/python2.7/site-packages/django/core/management/__init__.py", line 263, in fetch_command
    app_name = get_commands()[subcommand]
  File "/home/idf/anaconda/lib/python2.7/site-packages/django/core/management/__init__.py", line 109, in get_commands
    apps = settings.INSTALLED_APPS
  File "/home/idf/anaconda/lib/python2.7/site-packages/django/conf/__init__.py", line 53, in __getattr__
    self._setup(name)
  File "/home/idf/anaconda/lib/python2.7/site-packages/django/conf/__init__.py", line 48, in _setup
    self._wrapped = Settings(settings_module)
  File "/home/idf/anaconda/lib/python2.7/site-packages/django/conf/__init__.py", line 134, in __init__
    raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))
ImportError: Could not import settings 'graphite.settings' (Is it on sys.path?): No module named graphite.settings
[idf@node1 graphite]$ 

ImportError:无法导入设置'graphite.settings'(它在sys.path上吗?):没有名为graphite.settings的模块

[idf@node1 graphite]$ pwd
/opt/graphite/webapp/graphite
[idf@node1 graphite]$ ls
account           composer           local_settings.pyc         node.py             storage.py     version
app_settings.py   dashboard          local_settings.py.example  node.pyc            storage.pyc    views.py
app_settings.pyc  events             logger.py                  readers.py          templates      views.pyc
browser           finders            logger.pyc                 readers.pyc         thirdparty     whitelist
carbonlink.py     __init__.py        manage.py                  remote_storage.py   url_shortener  wsgi.py
carbonlink.pyc    __init__.pyc       manage.pyc                 remote_storage.pyc  urls.py        wsgi.pyc
cli               intervals.py       metrics                    render              urls.pyc
compat.py         intervals.pyc      middleware.py              settings.py         util.py
compat.pyc        local_settings.py  middleware.pyc             settings.pyc        util.pyc
[idf@node1 graphite]$ 
4

3 回答 3

15

django-tagging使用以下命令降级软件包 (0.3.6) 后,该问题得到解决:

pip uninstall django-tagging  
pip install 'django-tagging<0.4'
于 2015-09-14T03:58:37.917 回答
2

我能够通过替换这样的路径来让它工作

sudo django-admin.py syncdb --settings=graphite.settings

像这样的路径

sudo /home/idf/anaconda/bin/django-admin.py syncdb --pythonpath /opt/graphite/webapp --settings graphite.settings 
于 2015-07-12T21:55:28.623 回答
1

@Peigong 正确解决了它。我会为这个问题添加解释。

django-tagging 0.4 需要新版本的 Django 1.7 或更高版本以及 Python 2.7 或更高版本。将 django-tagging 降级到 0.3.6 将适用于较旧的 Django,例如 Django 1.5

pip uninstall django-tagging
pip install django-tagging===0.3.6

或在 CM

python_pip "django-tagging" do
    version "0.3.6"
end

在此处查看更改日志和有关 django-tagging 的更多信息: https ://pypi.python.org/pypi/django-tagging

于 2016-08-04T19:55:52.310 回答