PyLuceneをWindowsでビルド
必要なもの
- PyLuceneこれがなければ始まらない。ソースアーカイブをダウンロードしておいてください。
- Visual Studio 2008
Visual Studio 2008 Express Edtionでは試していません。
- Apache AntPyLuceneのビルドに使用します。バイナリをダウンロードして、適当にインストールしてください。私は c:\Program Files\apache-antにインストールしました。
- Cygwin
インストールする際、Develカテゴリの SubVersion と make を必ず選択してください。
環境設定
まず、PATHをJavaランタイムのjvm.dllがあるディレクトリとJDK、cygwinのbinディレクトリに通しておきます。私の場合だとC:\Program Files\Java\jdk1.6.0_14\jre\bin\client;C:\Program Files\Java\jdk1.6.0_14\bin;c:\cygwin\bin;
を追加しました。
JAVA_HOME=C:\Program Files\Java\jdk1.6.0_14
としました。
JCCのビルド
まず、JavaライブラリのC++インターフェースを作成する JCC モジュールをビルドします。1. setup.pyを修正する
Index: setup.py =================================================================== --- setup.py (revision 820678) +++ setup.py (working copy) @@ -39,7 +39,7 @@ 'ipod': '/usr/include/gcc', 'linux2': '/usr/lib/jvm/java-6-openjdk', 'sunos5': '/usr/jdk/instances/jdk1.6.0', - 'win32': 'o:/Java/jdk1.6.0_02', + 'win32': 'C:/Program Files/Java/jdk1.6.0_14', } if 'JCC_JDK' in os.environ: JDK[platform] = os.environ['JCC_JDK'] @@ -61,7 +61,7 @@ 'linux2': ['-fno-strict-aliasing', '-Wno-write-strings'], 'sunos5': ['-features=iddollar', '-erroff=badargtypel2w,wbadinitl,wvarhidemem'], - 'win32': [], + 'win32': ["/EHsc"], } # added to CFLAGS when JCC is invoked with --debug
2. ビルド&インストール
あとは普通のPythonモジュールと同様にcd <pylucene>\jcc python setup.py install
で完了です。
PyLuceneのビルド
1. Makefileを修正する
環境に合わせて、Makefileを修正します。私の環境では次のように修正しました。Index: Makefile =================================================================== --- Makefile (revision 820678) +++ Makefile (working copy) @@ -105,12 +105,14 @@ #NUM_FILES=2 # Windows (Win32, Python 2.5.1, Java 1.6, ant 1.7.0) -#PREFIX_PYTHON=/cygdrive/o/Python-2.5.2/PCbuild -#ANT=JAVA_HOME=o:\Java\jdk1.6.0_02 /cygdrive/o/java/apache-ant-1.7.0/bin/ant -#PYTHON=$(PREFIX_PYTHON)/python.exe -#JCC=$(PYTHON) -m jcc --shared -#NUM_FILES=2 +PREFIX_PYTHON=/cygdrive/c/Python26 +JAVA_HOME=C:\Progra~1\Java\jdk1.6.0_14 +ANT=/c/Progra~1/apache-ant/bin/ant.bat +PYTHON=$(PREFIX_PYTHON)/python.exe +JCC=$(PYTHON) -m jcc.__main__ --shared +NUM_FILES=2 + # # No edits required below #
2. ビルド&インストール
cd <pylucene> make make install
で完了です。インストールしたら
make test
でちゃんと動作するか、確認してみましょう。