首先我的环境:
- ubuntu16.04
- Anaconda3下 python3.5.2/python2.7
- JDK1.8.0_102
- PyLucene6.4.1
Step0.安装openjdk
开始因为我自己原来装了jdk1.8.0_102,认为直接用原来装的也可以,但是后来安装JCC的时候会蜜汁报错,所以又重新装了新的openjdk,问题解决。
$sudo apt-get install openjdk-8-jdk
Step1.下载PyLucene
直接去官网下载了最新版本:http://www-us.apache.org/dist/lucene/pylucene/
然后解压:
$tar xzvf pylucene-6.4.1-src.tar.gz
Step2.安装Apache Ant
$sudo apt-get isntall ant
Step3.安装setuptools
$sudo apt-get install python-setuptools
Step4.安装 python dev
$sudo apt-get install python-dev
这步如果没做,我在直接编译JCC的时候会报错缺少Python.h
Step5.安装GNU C++编译器
$sudo apt-get install g++
Step6.对JCC进行编译安装
下载的PyLucene中已经包含了JCC,进入文件夹即可:
$cd pylucene-6.4.1/jcc
然后需要修改一下setup.py中jdk的路径:
JDK = {
‘linux2’: ‘/usr/lib/jvm/java-8-openjdk-amd64’,
}
这里我把我系统对应的路径改成我的jdk所在位置。
$python setup.py build
$sudo python setup.py install
这里,像我一样系统上装了两个版本的python的同学注意了,一定要用python2.X编译setup.py,不然会出现各种问题。
Step7.修改Makefile
我的是这样:
# Linux (Ubuntu 6.06, Python 2.4, Java 1.5, no setuptools)
PREFIX_PYTHON=/usr
ANT=JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 /usr/bin/ant
PYTHON=$(PREFIX_PYTHON)/bin/python
JCC=$(PYTHON) -m jcc –shared
NUM_FILES=2
其实就是找到对应你系统环境的那行注释,然后JAVA_HOME改成你的jdk所在的位置。
Step8.安装PyLucene
$make
$sudo make install
这个过程蛮漫长的,耐心等待没有报错的话就大功告成!
测试一下吧: