无管理员权限的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