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 $
그래프 이미지 파일이 생성되고 이상이 없다면 설치가 완료된 것입니다. 아래처럼 테스트 이미지를 만듭니다.