PyLucene 安裝教學 (Ubuntu環境)
Published in
6 min readDec 28, 2019
採了很多坑,用了兩天換來的心得 。
踩到什麼坑就不說了,這邊直接講需要安裝哪些,跟著做就可以了!!
為了方便替換,這邊用 docker 先建立起一個 ubuntu 環境,因此所有的安裝過程皆可以在 ubuntu 機器上重構一次 。
因為自己試了很多種組合才成功,例如 pylucene-6.5.0 跟 Python2 可能相衝導致安裝都失敗,下面是這次安裝成功的各套件(與相依套件)版本 :
環境
Ubuntu 18.04.3 LTS
Pylucene-8.1.1
Java openJDK-1.8.0_232 (64-bit)
安裝過程
1)用 docker 建立 ubuntu 環境
docker pull ubuntu
查詢 image 名稱後建立該 image 內的 container
image 名稱預設為 ubuntu
docker create ubuntu
基於 ubuntu 這個 image 下啟動 container
docker run -t -i ubuntu /bin/bash
2) 安裝相關套件
apt-get update
- Java openJDK (1.8.0_232)
apt install openjdk-8-jdk
- ant (1.10.5–3~18.04)
apt-get install ant
- build-essential (gcc 7.4.0)
apt-get install build-essential
- manpages-dev (4.15–1)
apt-get install manpages-dev
- software-properties-common
apt-get install software-properties-common
- python-dev (2.7.15~rc1–1)
apt-get install python-dev
- libicu-dev (60.2–3ubuntu3)
apt-get install libicu-dev
- python3-pip (9.0.1–2.3~ubuntu1.18.04.1)
apt-get install python3-pip
- PyICU (2.4.2)
apt-get install -y python-pyicu
- 升級 gcc 和 g++
# add-apt-repository ppa:ubuntu-toolchain-r/test# apt install gcc-7 g++-7 gcc-8 g++-8 gcc-9 g++-9# update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90 --slave /usr/bin/g++ g++ /usr/bin/g++-9 --slave /usr/bin/gcov gcov /usr/bin/gcov-9# update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 80 --slave /usr/bin/g++ g++ /usr/bin/g++-8 --slave /usr/bin/gcov gcov /usr/bin/gcov-8
3) 修改設定檔
下載好 pylucene-8.1.1-src.tar.gz 後進行解壓縮,之後進入 jcc 資料夾內,並修改 setup.py
# wget http://mirror.23media.de/apache/lucene/pylucene/pylucene-8.1.1-src.tar.gz# tar -zxvf pylucene-8.1.1-src.tar.gz# cd pylucene-8.1.1/jcc/# vim setup.py
修改JDK 設定,把 ‘linux’ 部分改成 docker 內安裝 Java jdk 的位置
JDK = {
'darwin': JAVAHOME or JAVAFRAMEWORKS,
'ipod': '/usr/include/gcc',
'linux': '/usr/lib/jvm/java-8-openjdk-amd64', // <jvm位置>
'sunos5': '/usr/jdk/instances/jdk1.6.0',
'win32': JAVAHOME,
'mingw32': JAVAHOME,
'freebsd7': '/usr/local/diablo-jdk1.6.0'
}
執行 jcc 安裝
# python3 setup.py build# python3 setup.py install
回到上一層 pylucene 位置後,修改 Makefile
# cd ..# vim Makefile
uncomment 其中一個設定,並修改 JAVA_HOME 為 JDK 安裝位置
PREFIX_PYTHON=/usr
ANT=JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 /usr/bin/ant
PYTHON=$(PREFIX_PYTHON)/bin/python3
JCC=$(PYTHON) -m jcc --shared
NUM_FILES=10
存擋後,就可以執行編譯與安裝了
4) 執行編譯與安裝
# make# make install
5) 驗證 pylucene 是否安裝成功
進入 test3 資料夾內執行測試程式
python3 test_PyLucene.py
若出現 OK 即表示安裝已完成且正確。