在 Ubuntu 上安裝 PyLucene

2012.7.19, 周邦信, 法鼓佛教學院, Taiwan

環境:

  • Ubuntu 12.04 (64-bit)
  • Python 2.7

先用最偷懶的方法,在「Ubuntu 軟體中心」安裝 pylucene 2.3.1-1,裝好後 import lucene 失敗,而且網站有 3.5 新版了,就將它移除,改依網站說明一步步安裝新版。

PyLucene 的安裝說明在這:http://lucene.apache.org/pylucene/install.html

它說要先安裝 JCC,安裝說明在這:http://lucene.apache.org/pylucene/jcc/install.html

安裝 JCC

先到 http://apache.cyberuse.com/lucene/pylucene/ 下載 PyLucene:pylucene-3.5.0-3-src.tar.gz

然後執行 tar zxvf pylucene-3.5.0-3-src.tar.gz

cd pylucene-3.5.0-3/jcc

編輯 setup.py 將一些環境變數設成符合自己的機器情況

我的 JDK['linux2'] 是設成 /usr/lib/jvm/java-6-openjdk-amd64

執行 sudo python setup.py build

它會有錯誤訊息說要先執行這個 patch: (不同的環境, 路徑可能不同)

sudo patch -d /usr/lib/python2.7/dist-packages -Nup0 < /home/ray/temp/pylucene-3.5.0-3/jcc/jcc/patches/patch.43.0.6c11

執行 patch 之後再執行 sudo python setup.py build

出現錯誤訊息:

gcc: error trying to exec 'cc1plus': execvp: 沒有此一檔案或目錄 error: command 'gcc' failed with exit status 1

Ubuntu 軟體中心 安裝 g++

再執行 sudo python setup.py build

出現錯誤息:

jcc/sources/jcc.cpp:24:20: 嚴重錯誤: Python.h:沒有此一檔案或目錄

Ubuntu 軟體中心 安裝 python-dev

再執行 sudo python setup.py build

終於出現成功訊息:

Installed /usr/local/lib/python2.7/dist-packages/JCC-2.12-py2.7-linux-x86_64.egg

Building PyLucene

再來可以 build PyLucene 了

cd 回到 pylucene-3.5.0-3 目錄

執行 make,出現錯誤訊息:

/bin/sh: 1: ant: not found

到 Ubuntu 軟體中心 安裝 ant

接著執行以下步驟:

make

sudo make install

sudo make test

然後進 python 測試 import lucene 成功!

我跟 Linux 不太熟,或許有說錯的地方,歡迎指正。