我正试图在Ubuntu16.04上安装Graphite。django-admin.py引发ImproperlyConfigured(“SECRET_KEY设置不能为空)。
如果我将输出石墨_ROOT=/opt/石墨更改为:
export GRAPHITE_ROOT=/opt/graphite/webapp我不再得到SECRET_KEY错误,但我得到:
File "/opt/graphite/lib/python3.5/site-packages/django/conf/__init__.py", line 157, in __init__
mod = importlib.import_module(self.SETTINGS_MODULE)
File "/opt/graphite/lib/python3.5/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "<frozen importlib._bootstrap>", line 986, in _gcd_import
File "<frozen importlib._bootstrap>", line 969, in _find_and_load
File "<frozen importlib._bootstrap>", line 944, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 222, in _call_with_frames_removed
File "<frozen importlib._bootstrap>", line 986, in _gcd_import
File "<frozen importlib._bootstrap>", line 969, in _find_and_load
File "<frozen importlib._bootstrap>", line 956, in _find_and_load_unlocked
ImportError: No module named 'graphite'我遵循了这些指示并执行了以下步骤:
sudo apt-get install python-dev libcairo2-dev libffi-dev build-essential
wget https://launchpad.net/graphite/0.9/0.9.10/+download/graphite-web-0.9.10.tar.gz
wget https://launchpad.net/graphite/0.9/0.9.10/+download/carbon-0.9.10.tar.gz
wget https://launchpad.net/graphite/0.9/0.9.10/+download/whisper-0.9.10.tar.gz
wget https://launchpad.net/graphite/0.9/0.9.10/+download/check-dependencies.py
tar xvf whisper-0.9.10.tar.gz
tar xvf carbon-0.9.10.tar.gz
tar xvf graphite-web-0.9.10.tar.gz
cd carbon-0.9.10/
sudo python setup.py install
cd whisper-0.9.10/
sudo python setup.py install
cd graphite-web-0.9.10/
sudo python setup.py install
sudo virtualenv /opt/graphite
source /opt/graphite/bin/activate
sudo chown -R ubuntu:ubuntu /opt/graphite
pip install Django
pip install pytz scandir
pip install django-tagging
pip install pycairo
sudo apt install apache2
wget https://github.com/GrahamDumpleton/mod_wsgi/archive/4.6.5.tar.gz
tar xvf 4.6.5.tar.gz
cd mod_wsgi-4.6.5/
sudo ./configure
sudo make install
cd /opt/graphite/conf
cp graphite.wsgi.example graphite.wsgi
cd /opt/graphite/webapp/graphite
cp local_settings.py.example local_settings.py
export $GRAPHITE_ROOT=/opt/graphite
PYTHONPATH=$GRAPHITE_ROOT/webapp /opt/graphite/lib/python3.5/site-packages/django/bin/django-admin.py collectstatic --noinput --settings=graphite.settings产生此错误:
File "/opt/graphite/lib/python3.5/site-packages/django/bin/django-admin.py", line 5, in <module>
management.execute_from_command_line()
File "/home/ubuntu/.pyenv/versions/3.4.3/lib/python3.4/site-packages/django/core/management/__init__.py", line 338, in execute_from_command_line
utility.execute()
File "/home/ubuntu/.pyenv/versions/3.4.3/lib/python3.4/site-packages/django/core/management/__init__.py", line 330, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/ubuntu/.pyenv/versions/3.4.3/lib/python3.4/site-packages/django/core/management/__init__.py", line 182, in fetch_command
settings.INSTALLED_APPS
File "/home/ubuntu/.pyenv/versions/3.4.3/lib/python3.4/site-packages/django/conf/__init__.py", line 48, in __getattr__
self._setup(name)
File "/home/ubuntu/.pyenv/versions/3.4.3/lib/python3.4/site-packages/django/conf/__init__.py", line 44, in _setup
self._wrapped = Settings(settings_module)
File "/home/ubuntu/.pyenv/versions/3.4.3/lib/python3.4/site-packages/django/conf/__init__.py", line 113, in __init__
raise ImproperlyConfigured("The SECRET_KEY setting must not be empty.")
django.core.exceptions.ImproperlyConfigured: The SECRET_KEY setting must not be empty.我相信这样做的原因是django同时被安装在虚拟环境和$DJANGO_HOME中。说明中说,当使用virtualenv时,将完整的路径放置到django-admin.py,我就这样做了。
因此,它是从错误的位置读取global_settings.py,还是在错误的位置查找local_settings.py。
./opt/graphite/bin/django-admin.py
./opt/graphite/lib/python3.5/site-packages/django/bin/django-admin.py这两个机构都有:
SECRET_KEY = '‘
另外,我试图在这两个字段中都添加一个值,如果您查看抛出错误的代码,它只会查找字段的存在,而不是它是否为空,则不应该是必需的。
SECRET_KEY = '1232323‘
./opt/graphite/lib/python3.5/site-packages/django/conf/global_settings.py
./home/ubuntu/.pyenv/versions/3.4.3/lib/python3.4/site-packages/django/conf/global_settings.py下面是在/home/ubuntu/.pyenv/versions/3.4.3/lib/python3.4/site-packages/django/conf/init.py:中抛出错误的代码
if not self.SECRET_KEY:
raise ImproperlyConfigured("The SECRET_KEY setting must not be empty.")发布于 2019-09-18 10:22:03
0.9.10是非常老的版本(7年前的2012年5月),它不支持Python 3。如果您想从源代码中安装Graphite,请尝试最新版本(1.1.5)。
但是您也可以从软件包中安装它(尽管版本稍旧,Ubuntu16.04中的版本为0.9.15 )。您可以使用社区编写的更多发行版特定手册。例如https://www.scaleway.com/en/docs/install-and-configure-graphite-on-ubuntu/或https://www.vultr.com/docs/how-to-install-and-configure-graphite-on-ubuntu-16-04
您也可以尝试码头石墨 --这是一种快速方便的方法,可以轻松地运行最新版本。
发布于 2019-09-18 20:34:43
似乎您在安装了石墨-web和碳和耳语之后激活了虚拟主机,但如果使用虚拟主机,则需要在安装它们之前激活它们。
https://stackoverflow.com/questions/57932901
复制相似问题