Ubuntu 安装pyluence
最近在使用nltk做项目,由于需要luence做索引查找,而且又要用python环境,所以打算直接一起弄,不但弄一个java环境的luence了,下面是安装记录:
首先安装jdk和ant:
sudo apt-get install openjdk-8-jdk
sudo apt-get install ant
然后是安装setuptools,首先下载whl文件,https://pypi.python.org/pypi/setuptools/,然后安装:
sudo -H pip install XXX.whl
然后下载pylucene,http://archive.apache.org/dist/lucene/pylucene/,一般时间都很长,可以考虑使用axel下载,虽然我并没有尝试,因为有时候跳转次数太多,无法下载,但是可以下载的时候真的由于多线能力,下载会特别快。
然后就是对jcc的安装了:
tar -zxvf pylucenexxx.tar.gz #解压
cd pylucenexxx/jcc #准备修改安装文件中的jdk
sudo vi setup.py
在setup.py中有一段关于jdk的表达,会根据不同平台选择不同的jdk:
JDK = {
'darwin': JAVAHOME,
'ipod': '/usr/include/gcc',
'linux2': '/usr/lib/jvm/java-8-openjdk-amd64', #修改这一行为自己的jdk,可以通过路径查找
'sunos5': '/usr/jdk/instances/jdk1.6.0',
'win32': JAVAHOME,
'mingw32': JAVAHOME,
'freebsd7': '/usr/local/diablo-jdk1.6.0'
}
修改之后就可以进行编译安装jcc了:
python setup.py build
sudo python setup.py install
安装好jcc就可以安装pylucene了:
cd pylucenexxx
sudo vi Makefile #修改各个环境变量
在Makefile里可以看到如下的信息需要修改:
# Linux (Ubuntu 11.10 64-bit, Python 2.7.2, OpenJDK 1.7, setuptools 0.6.16)
# Be sure to also set JDK['linux2'] in jcc’s setup.py to the JAVA_HOME value
# used below for ANT (and rebuild jcc after changing it).
# 去掉下面的注释
PREFIX_PYTHON=/usr
ANT=JAVA_HOME=/opt/jdk-7-oracle /usr/bin/ant
PYTHON=$(PREFIX_PYTHON)/bin/python3
JCC=$(PYTHON) -m jcc –shared
NUM_FILES=8
根据自己系统的情况进行修改,就比如JAVA_HOME 以及python等。然后直接使用命令make以下,然后再sudo make install就可以了,使用import lucene查看一下就知道是否可以用了。
有时候会产生”Ivy is not available”的问题,查看了一下/home/root/.ant/lib下是有ivy-xxx.jar的,问题出在访问权限上,只需要将make改成sudo make就可以了。