系统相关
首页 > 系统相关> > 无管理员权限的Linux系统中安装pylucene

无管理员权限的Linux系统中安装pylucene

作者:互联网

 

首先,感谢https://bigdata-ny.github.io/2018/09/01/ubuntu-install-pylucene/https://blog.csdn.net/thuyx/article/details/69284170,和https://blog.csdn.net/Tiffany_Li2015/article/details/51044084给了我很多启发,虽然问题情境还是有些许的差异

问题情境:

(1)学校服务器,无管理员权限,只能在自己的目录下面安装软件,对管理员安装的JAVA,ANT等不能够增删查改

(2)通过anaconda安装了python3,并更改了本地的path

安装步骤:

(1)安装JAVA环境:

     执行java -version,发现服务器上已经安装了openjdk,所以不打算重新安装。

     执行echo $JAVA_HOME,系统并未设置JAVA_HOME

     通过参考网上帖子,在 /usr/lib/jvm/路径下找到了系统安装的很多版本的open_jdk,选择最新版本,构建    JAVA_HOME=/usr/lib/jvm/java-openjdk

     打开本地.bashrc文件(vi .bashrc)(这个文件是用户每次登录默认执行的文件,如果有管理员权限则配置文件:/etc/profile)

     在.bashrc文件末尾加上:

                         export JAVA_HOME=/usr/lib/jvm/java-openjdk

                       export JRE_HOME=${JAVA_HOME}/jre

                       export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

                       export PATH=${JAVA_HOME}/bin:${PATH}

(2) 安装ANT

        官网下载Binary Distributions,解压到你自己设定的路径下(tar zxvf apache-ant-1.10.5-bin.tar.gz),然后编辑.bashrc文件,配置环境变量:

        在.bashrc文件末尾加上:

                      export JAVA_HOME=/usr/lib/jvm/java-openjdk

                      export ANT_HOME=/u/cherry/apache-ant-1.10.5

                      export JRE_HOME=${JAVA_HOME}/jre

                      export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib

                      export PATH=${JAVA_HOME}/bin:${PATH}:${ANT_HOME}/bin

(3) 安装Ivy

          官网下载 binary-with-dependencies 版本,解压后执行如下命令即可:

                      cp ivy-2.4.0.jar /u/cherry/apache-ant-1.10.5/lib

(4)下载pylucene最新版,并解压。(http://apache.mirrors.hoobly.com/lucene/pylucene/

(5) 编译jcc (进入cd pylucene-7.6.0/jcc目录下)

           打开vi setup.py,修改jdk路径(主要是这一句 'linux': '/usr/lib/jvm/java-openjdk')

           



JDK = {
    # 'darwin': JAVAHOME or JAVAFRAMEWORKS,
    'darwin': JAVAHOME or JAVAFRAMEWORKS,
    'ipod': '/usr/include/gcc',
    'linux': '/usr/lib/jvm/java-openjdk',
    # 'linux': '/usr/lib/jvm/java-8-oracle',
    'sunos5': '/usr/jdk/instances/jdk1.6.0',
    'win32': JAVAHOME,
    'mingw32': JAVAHOME,
    'win32': '/usr/bin/java/1.8.0_212',
    'mingw32': '/usr/bin/java/1.8.0_212',
    'freebsd7': '/usr/local/diablo-jdk1.6.0'
}

JAVAC = {
    'darwin': ['javac', '-source', '1.5', '-target', '1.5'],
    'ipod': ['jikes', '-cp', '/usr/share/classpath/glibj.zip'],
    # 'linux': ['javac'],
    'linux': ['/usr/lib/jvm/java-openjdk/bin/javac'],
    'sunos5': ['javac'],
    'win32': ['%(win32)s/bin/javac.exe' % (JDK)],
    'mingw32': ['%(mingw32)s/bin/javac.exe' % (JDK)],
    'freebsd7': ['javac'],
}

JAVADOC = {
    'darwin': ['javadoc'],
    'ipod': [],
    # 'linux': ['javadoc'],
    'linux': ['/usr/lib/jvm/java-openjdk/bin/javac'],
    'sunos5': ['javadoc'],
    'win32': ['%(win32)s/bin/javadoc.exe' % (JDK)],
    'mingw32': ['%(mingw32)s/bin/javadoc.exe' % (JDK)],
    'freebsd7': ['javadoc'],
}

编译并验证安装成功:

python setup.py build
python setup.py install
python -m jcc

(6)安装pylucene

   我的python是通过anaconda 安装的,所以python的路径:/nfs/nfs7/home/cherry/anaconda3/bin/python3

  修改Makefile文件(主要修改:1-ANT和JAVA_HOME路径,2-Python路径,3-保证lvy已经安装成功)

            cd ..到pylucene的根目录

            

# Linux     (Debian Jessie 64-bit, Python 3.4.2, Oracle Java 1.8                
# Be sure to also set JDK['linux'] 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=/usr/lib/jvm/java-8-oracle /usr/bin/ant
ANT=JAVA_HOME=/usr/lib/jvm/java-openjdk /nfs/nfs7/home/cherry/apache-ant-1.10.5/bin/ant
#PYTHON=$(PREFIX_PYTHON)/bin/python3
PYTHON=/nfs/nfs7/home/cherry/anaconda3/bin/python3
JCC=$(PYTHON) -m jcc 
#--shared
#JCC=$(PYTHON) -m jcc.__main__ --shared
NUM_FILES=8

编译:

make

make install

测试是否成功:

python -c "import lucene"

总结一句话:

       搞清楚你所有的 ant,jdk,python路径,基本上就没有问题了。

完结,散花~      

 

 

 

 

 

 


 

        

 

 

     

     

 

 

    

标签:bin,pylucene,JAVA,lib,java,管理员,usr,Linux,HOME
来源: https://blog.csdn.net/txlCandy/article/details/89736785