pylucene 7.71安装-基于Win10 Python 3.7.2

最近工作之余在帮室友搞毕设,做的是一个法律法规搜索引擎,需要将法律法规数据爬下来做索引,了解到用lucene和elasticsearch比较适合,但是本人并不想用java

然后发现一个lucene的python版本pylucene,于是整上,使用还算简单,就是安装过程非常复杂,需要注意的问题很多

参考了chicc大佬在python2.7下的的经验,在此表示感谢

http://lxsay.com/archives/269

安装所需组件:

1.Python环境

这里的python版本不宜过高,个人认为在python3下3.6最好,这也是后面makefile中写明的配置,否则后面编译可能会出bug导致安装不上

室友的电脑用的3.9,版本太高亲测不行,编译老是报错

我用的是3.7.2 64位版本,安装时存在小bug,但是可以解决

在安装时请尽量避免安装在类似C:\Program Files (x86)这样中间带有空格的目录下,makefile文件识别不出来会报错,如果已经安了那就重装吧囧

然后在path配置python运行的环境变量:

指明你的python安装路径

C:\Users\DELL\AppData\Local\Programs\Python\Python37\

C:\Users\DELL\AppData\Local\Programs\Python\Python37\Scripts\

2.JAVA环境

需要JDK与JRE,64/32位都无所谓,别信他们说只能32位的说法

本人使用的是java 1.8.0 64位版本,个人推荐1.8.2,请尽量使用java8及以上的版本

下载安装后需要配置环境变量

2.1 在环境变量下新建JAVA_HOME变量,变量值为你的jdk安装路径:

2.2 path加入一行

%JAVA_HOME%\bin;%PATH%

2.3 新建变量名CLASS_PATH ,变量值为

.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar 

2.4 将JRE下的bin\server目录加入到path中

示例:

C:\Program Files\Java\jre1.8.0_111\bin\server

3.C++编译环境

我使用的是直接安装最新Visual studio 2019的方法,在官网下载Visual studio 2019即可

在安装界面需要将右侧C++的开发工具库都带上,如果少勾选了不保证编译时不会出问题,尤其是最后三个

下载大概需要30G,流量党请慎重,土豪请无视这句话

4.安装apache ant 及apache ivy

只安装ant也可,后面make时可能会报错提示你ant缺少ivy,到时候再补也行

4.1 可以直接去官网下载

https://ant.apache.org/bindownload.cgi 下载ant的zip版本

http://ant.apache.org/ivy/download.cgi  ivy同理

本人使用的是apache-ant-1.9.15和apache-ivy-2.5.0

只需要将ivy的jar包复制到ant目录下的lib文件夹内

然后ivy文件夹就可以删了~

这里提供本人已经复制好的版本

链接:https://pan.baidu.com/s/1JMsS9MAP3jA5lHelSe4HNw 
提取码:22s6 

4.2配置ant环境变量

将ant下的bin目录加入到path中

5.安装cygwin64

官网:https://www.cygwin.com/install.html

这里提供已下好的版本

链接:https://pan.baidu.com/s/1ZL-Kw4CFPt6MdXyHu3zrdQ 
提取码:949h 

安装时将package栏点开,找到devel,将右边default改为install,然后安装即可

安装后请一定注意将cywin64安装的bin目录添加进path中,否则cmd中无法将无法使用make命令

有人没用cygwin64用的minGW,没用过不知道行不行

以上是安装pylucne依赖环境的全部内容,接下来安装pylucene

官网下载pylucene

https://www.apache.org/dyn/closer.lua/lucene/pylucene/

本人使用的是7.71,不建议使用过高的版本,可能不稳定

1.安装JCC

命令行cd到pylucene目录下的jcc文件夹下,执行python setup.py build

没有报错则继续执行python setup.py install安装jcc

这里注意python需要在命令行下可用,所以一定要配置好python的环境变量

2.在pylucene文件夹下有个makefile文件,需要对其进行修改后才可编译,不然无法make

找到如下的一串,注意会有很多个类似于

# Mac OS X  (Python 2.3.5, Java 1.5, setuptools 0.6c7, Intel Mac OS X 10.4)
#PREFIX_PYTHON=/usr
#ANT=ant
#PYTHON=$(PREFIX_PYTHON)/bin/python
#JCC=$(PYTHON) /System/Library/Frameworks/Python.framework/Versions/2.3/lib/python2.3/site-packages/JCC-2.3-py2.3-macosx-10.4-i386.egg/jcc/__init__.py
#NUM_FILES=8

# 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
#PYTHON=$(PREFIX_PYTHON)/bin/python3
#JCC=$(PYTHON) -m jcc --shared
#NUM_FILES=8

的代码段,只需将任意一组解除注释即可(前面的#号去掉),

然后修改各属性的值:(路径分隔请使用/而不是\,\可能会出问题)

PREFIX_PYTHON的值为你的python安装目录

ANT值为你的ant目录/bin/ant

PYTHON值改为$(PREFIX_PYTHON)/python.exe

JCC值改为$(PYTHON) -m jcc --shared 如果报错可以将--shared去掉试试

修改后保存

示例:

# Mac OS X 10.12 (64-bit Python 3.6, Java 1.8)
PREFIX_PYTHON=C:/Users/DELL/AppData/Local/Programs/Python/Python37
ANT=C:/Users/DELL/Desktop/ppyl/apache-ant-1.9.15/bin/ant
PYTHON=$(PREFIX_PYTHON)/python.exe
JCC=$(PYTHON) -m jcc --shared
NUM_FILES=8

本人在项目中使用到了SmartChineseAnalyzer中文分词器,安装时默认不安装,如果你需要使用该分词器,请参考以下文章对makefile做进一步修改

https://blog.csdn.net/weixin_39575890/article/details/115695115?spm=1001.2014.3001.5501

如果不需要请忽略。

3. make

cd进pylucene的安装目录

输入make执行编译

如果提示make不存在,是因为你没配置好cygwin64的环境变量或者没进目录

在3.7.2下执行make有个奇特的bug,执行后会提示在/jcc3文件夹下缺少....的lib然后无法继续

进入该报错目录发现问题原因是代码路径指错了,根本没有jcc3文件夹只有jcc文件夹,需要的文件在jcc文件夹里边

解决方法是在jcc文件夹找到该lib,复制出来,然后在jcc文件夹旁边新建一个jcc3文件夹,把该lib丢进去即可

重新make后通过

如果在make过程中提示缺少rc.exe,则是因为在安装visual studio过程中没有安装win10 sdk所致,补充安装后即可

make通过后,继续执行make test,最后执行make install

直接跳过make test执行make install也可

 

安装完成后可以试试在python编译器中import lucene,如果不报错则说明安装OK

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值