Skip to content

Instantly share code, notes, and snippets.

What would you like to do?
Installing Graphite on OS X Lion

This is a general overview (from memory) of the steps I used to install graphite ( on OS X Lion. I think the steps are in order but YMMV. Please fork and fix if you find an error.

Install Python 2.7.2

brew install python

Check your env

$ python --version
Python 2.7.2

$ type python
python is /usr/local/bin/python

$ file /usr/local/bin/python
/usr/local/bin/python: Mach-O 64-bit executable x86_64

$ brew --version

Install Cairo

brew install cairo

Instally py2cairo [CRAZY TRAIN]

git clone git://
# Open wscript and below `env = ctx.env` add `env.append_unique('CFLAGS', ['-arch', 'x86_64'])`

python waf clean

export PATH=/usr/local/Cellar/python/2.7.2/bin:$PATH
export PYTHONPATH=/usr/local/Cellar/python/2.7.2
export LD_LIBRARY_PATH=/usr/local/Cellar/python/2.7.2:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/Cellar/python/2.7.2/lib:$LD_LIBRARY_PATH
export LINKFLAGS='-search_dylibs_first -L /usr/local/Cellar/python/2.7.2/lib/'
export ARCHFLAGS='-arch x86_64'
export CC=/usr/bin/gcc
export PKG_CONFIG_PATH=/usr/local/Cellar/cairo/1.10.2/lib/pkgconfig

python waf configure
python waf build
python waf install

Install Graphite and Dependencies

pip install carbon
pip install whisper
pip install django
pip install django-tagging
pip install graphite-web

Create default database

cd /opt/graphite/webapp/graphite
sudo python syncdb
sudo chown -R nobody:nobody /opt/graphite/storage/

Move example configs

cd /opt/graphite/conf
cp storage-schemas.conf.example storage-schemas.conf
cp carbon.conf.example carbon.conf

Carbon scripts are installed in /usr/local/share/python. Need to symlink

mkdir /opt/graphite/bin
ln -s /usr/local/share/python/ bin

Start carbon

python ./bin/ start

Start Graphite

python /usr/local/share/python/ /opt/graphite

Hope like hell it works


If it works correclty you should see a black image with "No Data" in the Graphite Composer. If you see a broken image, it's probably something to do with py2cairo and cairo.


This comment has been minimized.

Copy link

23inhouse commented Jul 31, 2012

In the end I used easy_install instead of pip.

after installing i used which to find them.

which has a -- debug option.

CRAZY TRAIN can be replaced with brew install py2cairo


This comment has been minimized.

Copy link

ciaranj commented Oct 12, 2012

I needed to install: before I could

brew install cairo

This comment has been minimized.

Copy link

dch commented Oct 27, 2012

use brew install cairo --without-x and skip xquartz.


This comment has been minimized.

Copy link

jeremy-degroot commented Nov 1, 2012

I'm trying to do this with graphite 0.9.10.

Every time I try to start the graphite server it tells me it can't find the django admin script.

$ python /usr/local/share/python/ /opt/graphite
Could not find a django-admin script!

Eventually, I dug into the code and found out that it uses which which so far as I know that only uses $PATH to find the script to run.

After I ran export PATH=$PATH:/usr/local/share/python/ I was able to start the server.


This comment has been minimized.

Copy link

richarddbarnett commented Apr 26, 2013

I had to use Django 1.4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.