CairoPlot: 파이썬으로 그래프 작성 후 이미지로 저장하는 라이브러리

CairoPlot은 그래프를 그리고 이미지 파일로 저장하도록 해주는 라이브러리입니다. 다른 그래프 라이브러리에 비해 화려하진 않지만 가볍고 단순하게 사용할 수 있어 편리합니다.

CairoPlot 은 이름처럼 유명한 Cairo 그래픽 라이브러리를 사용합니다. Pixman, Cairo 라이브러리에 의존성이 있으므로 설치할 때는 이 두 라이브러리를 먼저 설정해 줘야 합니다. 아래 순서를 참고해서 설치하세요.


1. 필요한 패키지를 모두 다운로드 받아 압축을 풀어둡니다.

mkdir ~/downloads
cd ~/downloads
wget ftp://sourceware.org/pub/libffi/libffi-3.0.11.tar.gz
wget http://ftp.gnome.org/pub/GNOME/sources/glib/2.31/glib-2.31.22.tar.xz
wget http://cairographics.org/releases/pixman-0.26.2.tar.gz
wget http://cairographics.org/releases/cairo-1.12.2.tar.xz
wget http://cairographics.org/releases/py2cairo-1.10.0.tar.bz2
tar xzf libffi-3.0.11.tar.gz
unxz glib-2.31.22.tar.xz
tar xf glib-2.31.22.tar
tar xzf pixman-0.26.2.tar.gz 
unxz cairo-1.12.2.tar.xz
tar xf cairo-1.12.2.tar
tar xjf py2cairo-1.10.0.tar.bz2

2. 필요한 환경 변수들을 업데이트 해둡니다.

export PKG_CONFIG_PATH=$HOME/lib/pkgconfig
export LD_LIBRARY_PATH=$HOME/lib

3. libffi 를 설치해둡니다. (CentOS 6 를 사용하는 경우만, 아닌 경우 건너 뛰어도 됨)

cd libffi-3.0.11
./configure --prefix=$HOME
make
make install

4. glib 설치 (CentOS 6 를 사용하는 경우만, 아닌 경우 건너 뛰어도 됨)

cd ../glib-2.31.22
PYTHON=/usr/local/bin/python2.7 ./configure --prefix=$HOME
make
make install

5. pixman 설치

cd ../pixman-0.26.2
./configure --prefix=$HOME
make
make install

주의!!! 최신 라즈비안 이미지(라즈비안 JESSIE 8.0) 에서 pixman 설치시 각종 빌드 에러가 발생합니다. 이 경우는 설치 중단하고 아래와 같이 apt-get install 로 설치하세요.

  • sudo apt-get install libpixman-1-dev

6. Cairo 그래픽 라이브러리 설치

cd ../cairo-1.12.2
export PKG_CONFIG_PATH=$HOME/lib/pkgconfig
export LD_LIBRARY_PATH=$HOME/lib
./configure --prefix=$HOME
make
make install

주의!!! 마찬가지로 최신 라즈비안 이미지(라즈비안 JESSIE 8.0) 에서 cairo 설치시 각종 빌드 에러가 발생합니다. 이 경우는 설치 중단하고 아래와 같이 apt-get install 로 설치하세요.

  • sudo apt-get install libcairo2-dev

7. py2cairo 설치

cd ../py2cairo-1.10.0
export PYTHON=/usr/local/bin/python2.7
./waf configure --prefix=$HOME
./waf build
./waf install

주의!!! 마찬가지로 최신 라즈비안 이미지(라즈비안 JESSIE 8.0) 에서 ./waf configure 실행시 아래와 같은 에러가 발생합니다.

Checking for header Python.h             : Could not find the python development headers

이때는 아래 패키지들 설치하고 변수 설정 후 다시 실행해보세요.

  • $ sudo apt-get install –assume-yes python-dev python-cairo-dev python-ldap python-memcache python-setuptools
  • $ export LIBRARY_PATH=$HOME/include:/usr/include/
  • $ export PKG_CONFIG_PATH=$HOME/lib/pkgconfig
  • $ export LD_LIBRARY_PATH=$HOME/lib

제 경우는 이걸 실행해도 안됐는데… 로그아웃 후 다시 로그인 하니 ./waf configure 가 정상적으로 진행 됐습니다.

py2cairo 설치에서 사용되는 waf 유틸리티는 pycairo 모듈을 ~/lib/python2.7/site-packages/cairo 경로에 설치합니다. 하지만 이 경로는 python의 기본 경로가 아닙니다. 따라서 pycairo 모듈을 파이썬에서 import 할 때 에러가 발생합니다. 에러를 방지하기 위해서는 path 설정을 업데이트 하도록 손봐줘야 합니다.

아래 명령으로 pi 계정의 .bashrc 파일을 엽니다.

$ cd ~
$ nano .bashrc

파일의 끝에 아래 내용을 추가합니다.

export PYTHONPATH="$HOME/lib/python2.7/site-packages/:$PYTHONPATH"

이후 재로그인하면 path 설정이 적용됩니다.

테스트를 위해 py2cairo 디렉터리 안에 있는 examples 디렉터리로 이동합니다. 여기에 있는 예제들을 실행해서 그래프 파일이 생성되는지 확인해보세요.

$ cd ~/downloads/py2cairo-1.10.0/examples 
$ python spiral.py
$

그래프 이미지 파일이 생성되고 이상이 없다면 설치가 완료된 것입니다. 아래처럼 테스트 이미지를 만듭니다.

spiral

You may also like...