centos6.x 安装pylucene (20161027改)

时间:2021-01-12 03:12:28

一、说明

  • 安装环境

  • 约定

    • 工作目录假定为当前用户的HOME目录

    • 安装的各软件版本以文档编写时的最新版为基准,请结合实际情况参考。

    • 尖括号"<>"包括的内容代表根据实际安装情况应填写的具体内容。

二、安装前的准备工作

wget --no-check-certificate https://pypi.python.org/packages/source/s/setuptools/setuptools-6.1.tar.gz
  • 解压

    • tar zxvf pylucene-6.2.0-src.tar.gz

    • tar zxvf setuptools-6.1.tar.gz

    • tar zxvf apache-ant-1.9.7-src.tar.gz

三、安装JDK

  • 旧版本删除

    • 查看系统中已经存在的JAVA版本:rpm -qa |grep java

    • rpm -e --nodeps <查到的旧版本完整名称>

  • 安装:rpm -ivh jdk-8u101-linux-x64.rpm

  • 版本确认:java -version

  • 环境变量配置

    • 编辑profile:vi /etc/profile
    JAVA_HOME=<JDK安装目录>
    JRE_HOME=<JDK安装目录>/jre
    PATH=PATH:PATH:JAVA_HOME/bin:$JRE_HOME/bin
    CLASSPATH=.:JAVAHOME/lib/dt.jar:JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
    export JAVA_HOME JRE_HOME PATH CLASSPATH
    
    • 重新加载profile:source /etc/profile

四、安装setuptools

cd ~/setuptools-6.1

python setup.py install

五、安装JCC

  • 安装gcc和gc++:yum install gcc gcc-c++

  • 修改JCC安装配置文件setup.py

    • cd ~/pylucene-6.2.0/jcc

    • 将JDK字典中键为linux2的值改为JDK实际安装目录,JCC2.22的setup.py在57行处。

      vi setup.py

      
      JDK = {
      
      ... ...
      
           'linux2': '<JDK安装目录>',
      
      ... ...
      
      }
      
  • 安装JCC

python setup.py build

python setup.py install

六、安装ANT

通过yum安装的ANT版本太低,pylucene安装要求ANT版本在1.8以上会失败。如果已经安装,则要先卸载。

  • 确定ant版本:ant -version

  • 卸载通过yum安装的旧版本:yum remove ant

  • 编译生成

cd ~/apache-ant-1.9.7

./build.sh

  • 部署ANT

编译后会在~/apache-ant-1.9.7目录中生成dist目录,其中存放着编译生成的最新版的可执行文件。将dist移动到系统合适的目录中,比如/usr/local/ant目录。

mv ~/apache-ant-1.9.7/dist /usr/local/ant

  • 环境变量配置

    • 编辑profile:vi /etc/profile

      ```

    ANT_HOME=/usr/local/ant

    PATH=PATH:PATH:ANT_HOME/bin

    ANT_OPTS="-Xms1300m -Xmx2048m -XX:PermSize=128M -XX:MaxNewSize=256m -XX:MaxPermSize=256m"

    export ANT_HOME

    ```
    
    * 重新加载profile:source /etc/profile

七、安装pylucene

  • 修改 Makefile

cd ~/pylucene-6.2.0

vi Makefile

* 修改编译环境参数

# Linux     (Debian Jessie 64-bit, Python 2.7.9, Oracle Java 1.8

# 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=<jdk安装目录> <ant安装目录>/bin/ant

PYTHON=$(PREFIX_PYTHON)/bin/python

JCC=$(PYTHON) -m jcc.__main__            #此处一定要把--shared选项去掉,否则会报错。

NUM_FILES=8
* 增强对中文分词的支持

找到这条语句句,去掉前面的注释

    #JARS+=$(SMARTCN_JAR)            # smart chinese analyzer
找到这条语句

--exclude org.apache.lucene.sandbox.queries.regex.JakartaRegexpCapabilities \
在下方添加如下语句:

--exclude org.apache.lucene.analysis.cn.smart.AnalyzerProfile \
  • 编译安装
    make过程中会下载安装ivy,如果下载失败会导致编译失败。如果出现这种情况可以把下载失败的ivy安装文件删除后通过make重新下载安装。

make

make install