centos6.x 安裝pylucene (20161027改)

lykyl的自留地發表於2016-10-19

一、說明

  • 安裝環境

  • 約定

    • 工作目錄假定為當前使用者的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

相關文章