(第2回)(第3回)Zope/Plone開発勉強会
(第2回)Zope/Plone開発勉強会と(第3回)Zope/Plone開発勉強会に参加してきました。
第2回(先月)のときは、PyLucene のビルドができない、原因が分からないとはまってしまい、ブログを書けるほどの成果がなかったので2ヶ月まとめて書きます(^ ^;;
タイムテーブルは以下のような感じです。
- 11:00-11:30 自己紹介とか
- 11:30-12:00 やること決めたり準備とか
- 12:00-13:00 昼食
- 13:00-18:00 もくもくと開発
- 18:00-19:00 成果発表(できたとこまで)
- 19:00-19:30 後片付け
- 19:30- 打ち上げ(いける人で)
前回は、Zope と Plone を CentOS 5.3 へインストールしました。今回は PyLucene と Plone を連携させることを目的に、先ずは PyLucene のインストールにチャレンジしました。
PyLucene のソースをダウンロードしてきてビルドします。ビルドするには、JDK(Java Development Kit) や Ant が必要になります。CentOS のリポジトリにある ant-1.6.5-2jpp.2 だと、なぜかビルドに失敗して困っていました。すると id:ytakeuch さんが最新の Ant だったらビルド出来たよとあっさりと解決してくれました。感謝です。そこで Ant パッケージだけ最新の ant-1.7.1 を持ってきて CentOS 用にリビルドしました。Ant のインストールはこちらをお使いください。
バイナリ RPM(i386): ant-1.7.1-11.1.centos.i386.rpm
ソース RPM: ant-1.7.1-11.1.centos.src.rpm
ソースのダウンロードと環境構築
※ 他にも必要なパッケージも幾つかインストールしています
# wget http://ftp.riken.jp/net/apache/lucene/pylucene/pylucene-2.4.1-2-src.tar.gz # yum -y install gcc43-c++ gcc-c++ ava-1.6.0-openjdk \ java-1.6.0-openjdk-devel python-devel python-setuptools subversion # rpm -ivh ant-1.7.1-11.1.centos.i386.rpm
PyLucene のビルド
ソースを展開します # cd ~/pylucene # tar zxvf pylucene-2.4.1-2-src.tar.gz JCC のビルド # cd pylucene-2.4.1-2/jcc # pwd /root/pylucene/pylucene-2.4.1-2/jcc # patch -d /usr/lib/python2.4/site-packages -Nup0 < /root/pylucene/pylucene-2.4.1-2/jcc/jcc/patches/patch.43 patching file setuptools/extension.py patching file setuptools/command/build_ext.py # vi setup.py @@ -37,7 +37,7 @@ JDK = { 'darwin': '/System/Library/Frameworks/JavaVM.framework/Versions/Current', 'ipod': '/usr/include/gcc', - 'linux2': '/usr/lib/jvm/java-6-openjdk', + 'linux2': '/usr/lib/jvm/java-1.6.0-openjdk', 'sunos5': '/usr/jdk/instances/jdk1.6.0', 'win32': 'o:/Java/jdk1.6.0_02', } # python setup.py build # python setup.py install Installed /usr/lib/python2.4/site-packages/JCC-2.3-py2.4-linux-i686.egg Processing dependencies for JCC==2.3 PyLucene のビルド # cd ../ # vi Makefile @@ -70,11 +70,11 @@ # Linux (Ubuntu 6.06, Python 2.4, Java 1.5, no setuptools) -#PREFIX_PYTHON=/usr -#ANT=ant -#PYTHON=$(PREFIX_PYTHON)/bin/python -#JCC=$(PYTHON) $(PREFIX_PYTHON)/lib/python2.4/site-packages/jcc/__init__.py -#NUM_FILES=2 +PREFIX_PYTHON=/usr +ANT=ant +PYTHON=$(PREFIX_PYTHON)/bin/python +JCC=$(PYTHON) $(PREFIX_PYTHON)/lib/python2.4/site-packages/JCC-2.3-py2.4-linux-i686.egg/jcc/__init__.py +NUM_FILES=2 # make svn export -r HEAD http://svn.apache.org/repos/asf/lucene/java/tags/lucene_2_4_1 lucene-java-2.4.1 (snip) build of complete # make install Installed /usr/lib/python2.4/site-packages/lucene-2.4.1-py2.4-linux-i686.egg Processing dependencies for lucene==2.4.1
Python から拡張モジュールがみえることを確認します。
# python Python 2.4.3 (#1, Jul 27 2009, 17:57:39) [GCC 4.1.2 20080704 (Red Hat 4.1.2-44)] on linux2 >>> import jcc >>> dir(jcc) ['CLASSPATH', '__builtins__', '__doc__', '__file__', '__name__', '__path__', '_jcc', 'initVM', 'os', 'sys'] >>> import lucene >>> dir(lucene) ['AbstractCollection', 'AbstractField', 'AbstractList',,, (snip)
リファレンス:
2009-09-05 - 人は歴史を創り出し、人は歴史を語り継ぐ