?>

Hard Copy World

HCW

Raspberry Pi

Home > Learning >

Raspberry Pi

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

페이지 정보

작성자 최고관리자 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일15-11-13 00:40 조회2,653회 댓글1건

본문

 

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

 

추천 0
  • 페이스북으로 보내기
  • 트위터로 보내기
  • 구글플러스로 보내기

댓글목록

최고관리자님의 댓글

최고관리자 쪽지보내기 메일보내기 홈페이지 자기소개 아이디로 검색 전체게시물 작성일

최신 라즈비안 JESSIE 이미지에서(2015-11-21 릴리즈) pixman 빌드하면 아래와 유사한 각종 에러가 납니다.
pixman-mmx.c:57:1: error: redefinition of '_mm_empty'

아직 이 문제는 해결이 되지 않고 있습니다. pixman은 그냥 apt-get 으로 설치하세요.
sudo apt-get install libpixman-1-dev

상세 내용은 아래 참고.
https://bugs.freedesktop.org/show_bug.cgi?id=55451