centos6.x 安装pylucene (20161027改)
一、说明
安装环境
centos6.6 (64位)
python2.7.10 (升级系统默认python版本的方法参见在CentOS 6.5上安装python2.7)
约定
工作目录假定为当前用户的HOME目录
安装的各软件版本以文档编写时的最新版为基准,请结合实际情况参考。
尖括号"<>"包括的内容代表根据实际安装情况应填写的具体内容。
二、安装前的准备工作
下载软件(以最新版本号为准)
pylucene:wget http://mirrors.cnnic.cn/apache/lucene/pylucene/pylucene-6.2.0-src.tar.gz
JDK: 因为需要确认授权,所以直接用wget下载可能会有问题,建议到官方网站 下载到本地后再上传至服务器。
ANT:wget https://www.apache.org/dist/ant/source/apache-ant-1.9.7-src.tar.gz
setuptools:
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
centos6.x 安装pylucene (20161027改)的更多相关文章
- Centos6 yum安装openldap+phpldapadmin+TLS+双主配置
原文地址:http://54im.com/openldap/centos-6-yum-install-openldap-phpldapadmin-tls-%E5%8F%8C%E4%B8%BB%E9%8 ...
- centos6.4安装配置vpn服务器步骤详解
centos6.4安装配置vpn服务器步骤详解,从安装VPN到配置VPN服务器.配置VPN服务器的路由转发功能,每一步都很详细 一.VPN服务器环境说明 操作系统:CentOS release ...
- CentOS6.5安装配置Samba
CentOS6.5安装配置Samba 本文的场景是虚拟机运行CentOS6.,本机是Win7,现欲把CentOS上的一个文件夹共享出来,Win的机器可以读写. Samba与window连接需要使用Ne ...
- [转]Centos6.5安装配置keepalived
参考博文: Centos6.5安装配置keepalived CentOS6.5 keepalived详解及实现Nginx服务的高可用性 CentOS6.5 LVS + KeepAlived搭建步骤 我 ...
- centos6的安装
centos6的安装,一步一图,有图有真相 打开虚拟机VMware,点击文件,选择[新建虚拟机],如图所示
- Centos6.9安装vsftpd并配置多用户的方法
本文介绍了Centos6.9安装vsftpd并配置多用户的方法,分享给大家,具体如下: 一.安装vsftpd ? 1 2 3 4 5 6 7 8 #安装vsftpd yum -y install vs ...
- centos6.8安装cdh5.10.0(离线版)
Centos6.8安装CDH5 相关包的下载地址: Cloudera Manager地址:http://archive.cloudera.com/cm5/cm/5/ CDH安装包地址:http://a ...
- centos6.5安装Mysql5.6及更改密码
(一) centos6.5安装Mysql5.6 二进制文件安装的方法分为两种: 第一种是不针对特定平台的通用安装方法,使用的二进制文件是后缀为.tar.gz的压缩文件: 第二种是使用RPM或其他包进行 ...
- Centos6.5安装中文支持和中文输入法---VIM编辑器中文支持
Centos6.5安装中文支持和中文输入法 第一步:中文支持: 在shell命令下输入: # vi /etc/sysconfig/i18n 然后修改LANG="en_US.UTF-8 ...
随机推荐
- SSDB:高性能数据库服务器
SSDB是一个开源的高性能数据库服务器, 使用Google LevelDB作为存储引擎, 支持T级别的数据, 同时支持类似Redis中的zset和hash等数据结构, 在同时需求高性能和大数据的条件下 ...
- 优秀网站看前端 —— 小米Note介绍页面
刚开始经营博客的时候,我写过不少“扒皮”系列的文章,主要介绍一些知名站点上有趣的交互效果,然后试着实现它们.后来开始把注意力挪到一些新颖的前端技术上,“扒皮”系列便因此封笔多时.今天打算重开“扒皮”的 ...
- 【requireJS源码学习01】了解整个requireJS的结构
前言 现在工作中基本离不开requireJS这种模块管理工具了,之前一直在用,但是对其原理不甚熟悉,整两天我们来试着学习其源码,而后在探寻其背后的AMD思想吧 于是今天的目标是熟悉requireJS整 ...
- 初识Jsp,JavaBean,Servlet以及一个简单mvc模式的登录界面
1:JSP JSP的基本语法:指令标识page,include,taglib;page指令标识常用的属性包含Language用来定义要使用的脚本语言:contentType定义JSP字符的编码和页面响 ...
- Nokia 920板砖自救(理论上通用,升级Win10成板砖也可以用这个恢复)
异常处理汇总 ~ 修正果带着你的Net飞奔吧! http://www.cnblogs.com/dunitian/p/4599258.html 个人博客:http://dnt.dkill.net 下载下 ...
- Select count(*)和Count(1)的区别和执行方式
在SQL Server中Count(*)或者Count(1)或者Count([列])或许是最常用的聚合函数.很多人其实对这三者之间是区分不清的.本文会阐述这三者的作用,关系以及背后的原理. ...
- Python第一天 - list\字符串截取
(一)list截取L =['Adam', 'Lisa', 'Bart'] print(L[0:3]) ======>['Adam'(idnex:0), 'Lisa'(index:1), 'Bar ...
- java获取类的信息
关键技术剖析 1.java.lang.reflect包实现了java的反射机制,在使用反射机制时,需要导入该包. 2.Class类的forName方法能够根据类名加载类,获得类的Class对象. Cl ...
- Extend Volume 操作 - 每天5分钟玩转 OpenStack(56)
前面我们讨论了 volume 的 attach 和 detach 操作,今天讨论如何扩大 volume 的容量.为了保护现有数据,cinder 不允许缩小 volume. Extend 操作用于扩大 ...
- Hawk使用补充说明
软件在发布后,收到了各方朋友的反馈和提问.此处统一对一部分问题作出回复. 感谢你使用Hawk,软件是我写的,坑是我挖的.做爬虫本来就比较复杂,一些公司有专门的程序员做爬虫工程师.因此如果你很沮丧,很有 ...