PyLucene Setup

安裝配置JDK

Ubuntu 16.04 已經(jīng)裝有OpenJDK

~/software$ java --version
openjdk version "1.8.0_171"
OpenJDK Runtime Environment (build 1.8.0_171-8u171-b11-0ubuntu0.16.04.1-b11)
OpenJDK 64-Bit Server VM (build 25.171-b11, mixed mode)

若沒有安裝,則按照以下步驟
到官網(wǎng)下載對(duì)應(yīng)包解壓到 /usr/lib/jvm,然后編輯 /etc/profile 配置環(huán)境變量

sudo tar zxvf jdk-8u121-linux-x64.tar.gz -C /usr/lib/jvm
sudo vi /etc/profile

在 /etc/profile 最后添加如下

export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_121
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:${PATH}

執(zhí)行

source /etc/profile

然后執(zhí)行 java -version、javac等檢查是否成功

安裝配置 Ant

官網(wǎng)下載Binary Distributions,并設(shè)置路徑。
或者也可以直接apt-get安裝。

sudo apt-get update
sudo apt-get install ant

查看version

~/software$ ant -version
Apache Ant(TM) version 1.9.6 compiled on July 8 2015

安裝JCC & PyLucene

PyLucene包中包含JCC,直接安裝即可。
進(jìn)入解壓后的PyLucene包所在目錄,執(zhí)行

pushd jcc
vi setup.py

進(jìn)行如下修改:

JDK = {
    'darwin': JAVAHOME or JAVAFRAMEWORKS,
    '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'
}
JAVAC = {
    'darwin': ['javac', '-source', '1.5', '-target', '1.5'],
    'ipod': ['jikes', '-cp', '/usr/share/classpath/glibj.zip'],
    'linux2': ['/usr/lib/jvm/java-8-openjdk-amd64/bin/javac'], # jdk安裝路徑
    'sunos5': ['javac'],
    'win32': ['%(win32)s/bin/javac.exe' %(JDK)],
    'mingw32': ['%(mingw32)s/bin/javac.exe' %(JDK)],
    'freebsd7': ['javac'],
}
JAVADOC = {
    'darwin': ['javadoc'],
    'ipod': [],
    'linux2': ['/usr/lib/jvm/java-8-openjdk-amd64/bin/javadoc'], # jdk安裝路徑
    'sunos5': ['javadoc'],
    'win32': ['%(win32)s/bin/javadoc.exe' %(JDK)],
    'mingw32': ['%(mingw32)s/bin/javadoc.exe' %(JDK)],
    'freebsd7': ['javadoc'],
}

保存并關(guān)閉后執(zhí)行:

sudo /home/username/anaconda3/envs/venv27/bin/python setup.py build
sudo /home/username/anaconda3/envs/venv27/bin/python setup.py install
popd
vi Makefile

添加如下代碼,注意python的位置!

# Linux  (Ubuntu 16.04, Python 2.7, JDK 8u121, no setuptools)
PREFIX_PYTHON=/home/t-jin/anaconda3/envs/venv27
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=8

修改pylucene-6.2.0/lucene-java-6.2.0/lucene/expressions/lib目錄下文件的simlink(重要)

默認(rèn)如下:

antlr4-runtime-4.5.1-1.jar -> /Users/vajda/.ivy2/cache/org.antlr/antlr4-runtime/jars/antlr4-runtime-4.5.1-1.jar
asm-5.1.jar -> /Users/vajda/.ivy2/cache/org.ow2.asm/asm/jars/asm-5.1.jar
asm-commons-5.1.jar -> /Users/vajda/.ivy2/cache/org.ow2.asm/asm-commons/jars/asm-commons-5.1.jar

修改:

ln -snf /home/username/.ivy2/cache/org.antlr/antlr4-runtime/jars/antlr4-runtime-4.5.1-1.jar antlr4-runtime-4.5.1-1.jar
ln -snf /home/username/.ivy2/cache/org.antlr/antlr4-runtime/jars/asm-5.1.jar asm-5.1.jar
ln -snf /home/username/.ivy2/cache/org.antlr/antlr4-runtime/jars/asm-commons-5.1.jar asm-commons-5.1.jar

保存并關(guān)閉后執(zhí)行:

make
make test
sudo make install

補(bǔ)充

1. 最好安裝 Ivy

官網(wǎng)下載 binary-with-dependencies 版本,解壓后執(zhí)行如下命令即可

sudo cp ivy-2.5.0-rc1.jar /usr/share/ant/lib/ # ant的安裝路徑

2. SmartChineseAnalyzer報(bào)錯(cuò)

Pylucene不能導(dǎo)入SmartChineseAnalyzer的解決辦法

在Makefile相應(yīng)位置添加

--exclude org.apache.lucene.analysis.cn.smart.AnalyzerProfile\

參考:
https://blog.csdn.net/thuyx/article/details/69284170

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容