在 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 不太熟,或許有說錯的地方,歡迎指正。