천재태지의 세상 돌려보기

seoz.egloos.com

- About Me... - Enlightenment, EFL - 타이젠 Tizen



[EFL] Python EFL 바인딩 빌드/설치하기 ├ Enlightenment, EFL

[ EFL 게시물 목차 : http://seoz.egloos.com/3458699


안녕하세요? 천재태지 서주영입니다.

EFL은 C++, JavaScript, Python, Vala, Perl 등의 다양한 언어 바인딩을 제공합니다.
즉, C 언어로 구현된 EFL을 C 언어가 아닌 다른 언어를 이용해서 사용할 수 있습니다.
예를 들어, 애플리케이션을 C++ 이나 JavaScript로 작성하면서도 EFL을 사용할 수 있습니다.

기존에 가장 많이 사용된 EFL 바인딩은 Python 바인딩이었는데, 앞으로 많이 사용될거라 예상하는 EFL 바인딩은 JavaScript 바인딩입니다.
이번 포스팅은 기존에 많아 사용되었던 EFL 바인딩을 빌드하고 설치하는 방법을 소개합니다.

우선, PC에 기본적인 EFL 라이브러리가 설치되어 있다고 가정을 합니다.

1. Python-Dev 패키지 설치

$ sudo apt-get install python-dev

2. Cython 설치

Python EFL 바인딩은 Cython 0.15.1 이상 버전을 요구합니다.
만약 우분투 12.04를 사용하신다면 쉽게 Cython 0.15.1 버전을 설치할 수 있지만 그 이전의 우분투를 사용하신다면 수동으로 Cython 소스코드를 빌드하고 설치해야 합니다.

(우분투 12.04 이상)
$ sudo apt-get install cython

(우분투 12.04 미만)
A. 우선 기존에 설치되어 있을지 모르는 cython 패키지를 제거합니다.
$ sudo apt-get remove cython
만약 cython 패키지가 설치되어 있지 않다면 다음과 같은 에러 메시지가 표시될 것입니다.
Package cython is not installed, so not removed

B. Cython 공식 웹사이트에서 최신 Cython 소스코드를 다운로드합니다.
http://www.cython.org/#download [1]
현재 가장 최신 버전은 0.17입니다.
http://www.cython.org/release/Cython-0.17.tar.gz [2]

C. Cython 소스코드가 저장되어 있는 디렉토리에서 압축을 풉니다.
$ tar xvfz Cython-0.17.1.tar.gz

D. 압축이 풀린 Cython 소스코드를 설치합니다.
$ cd Cython-0.17
$ sudo python setup.py install

3. Python EFL 바인딩 빌드

A. EFL 소스코드를 이전에 다운로드 받았다면 trunk/BINDINGS/python 디렉토리로 이동합니다.
$ cd trunk/BINDINGS/python

(EFL 소스코드를 다운 받는 방법은 여기[3]를 참고하세요.)

만약 EFL이 이미 설치되어 있고 Python EFL만 새로 다운로드 받고 싶다면 아래와 같이 다운로드 받으세요.
$ svn checkout http://svn.enlightenment.org/svn/e/trunk/BINDINGS/python
$ cd python

(EFL을 설치하는 방법은 여기[4]를 참고하세요.)

B. Python EFL 설치 스크립트를 실행합니다.
여기에서 Python EFL 설치 스크립트[5]를 다운로드 받아 python 디렉토리에서 이 스크립트를 실행합니다.
이 때, Python EFL 설치 스크립트에 실행 권한을 줘야 합니다.
$ chmod +x python-efl-build.sh

Python EFL 설치 스크립트 내용은 다음과 같습니다.
#!/bin/bash

set -e

LIBRARIES="python-evas python-ecore python-edje python-emotion python-e_dbus python-ethumb python-elementary"

for I in $LIBRARIES; do
    pushd $I
        echo " "
        echo "============ "$I" ============"
       if [ -f Makefile ]; then
            make clean distclean
       fi
       ./autogen.sh
        make
        sudo make install
        sudo ldconfig
    popd
done

만약 별다른 에러 메시지 없이 위 스크립트가 실행되었다면 Python EFL 바인딩이 잘 설치된 것입니다.

4. 설치 확인

그럼 간단한 python 스크립트를 실행해서 Python EFL 바인딩이 정말 잘 설치되었는지 확인해보겠습니다.
EFL 소스코드의 trunk/BINDINGS/python/python-elementary/tests에 있는 elementary_test 애플리케이션을 실행해보겠습니다.

$ cd trunk/BINDINGS/python/python-elementary/tests
$ python test.py

이 때 다음과 같이 elementary_test 애플리케이션이 실행되면 Python EFL 바인딩이 성공적으로 설치된 것입니다.
이제 python 언어를 이용해서 EFL 애플리케이션을 작성하실 수 있습니다.


핑백

  • 천재태지의 세상 돌려보기 : [EFL] Edje GUI 에디터 Editje 설치하기 2012-09-26 02:21:41 #

    ... [EFL] Python EFL 바인딩 빌드/설치하기 [3]</a> 핵심 EFL 라이브러리가 설치되어 있고 Python EFL 바인딩도 설치되어 있다면 Editje를 설치할 수 있습니다. 1. Editje 소스코드 다운로드 우선 Editje 소스코드를 다운로드 받습니다. $ svn checkout http://svn.enlightenment.org/svn/e/trunk/editje $ cd editje 만약 이전에 EFL 소스코드를 ... more

  • EFL 한국 사용자 모임 : EFL 한국 사용자 모임 2012-10-21 23:49:46 #

    ... d)elementary 라이브러리에서 els, elc, elm, elu 란? [EPhysics]물리 엔진 라이브러리 EPhysics [Python 바인딩]Python EFL 바인딩 빌드/설치하기 [최신 소식] EFL 핵심 라이브러리 알파 배포 (2010.08.21)EFL 핵심 라이브러리 1.0 배포 (2011.1.29)EFL 핵심 라이브러 ... more

덧글

  • 빡지 2013/12/13 17:55 # 삭제 답글

    Edji GUI 에디터를 설치하고 싶어서 python EFL 바인딩 빌드/설치를 하려고 하는데요...

    스크립트 파일을 실행하면... 아래와 같이 오류가 납니다..
    ./python-efl-build.sh: line 8: pushd: python-evas: No such file or directory

    혹시 어떻게해야하는지 알 수 있을까요?
  • 천재태지서주영 2013/12/18 11:25 #

    그동안 python 바인딩 쪽에 변경 사항이 많아서 글을 수정해야 할 것 같군요.
    오늘 저녁에 시도해보고 알려드릴게요~
  • 천재태지서주영 2013/12/27 02:42 # 답글

    이 글은 너무 오래되었으니 참고하지 마세요~
    글을 새로 작성해야겠네요 ^^
댓글 입력 영역