首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Ubuntu安装PyLucene安装

机器环境:Ubuntu 16.04,Java 1.8

安装ANT:

sudoapt install ant

下载pylucene-4.10.1-1或者pylucene-6.5.0包,并解压。注意,不要去pylucene的github仓库https://github.com/svn2github/pylucene下载,其中缺少部分文件。当执行make命令时会报错:

make

mkdir-plucene-java-7.4.0

tar-C~/apache/lucene.git-cf-lucene | tar-Clucene-java-7.4.0-xvf-

tar: ~/apache/lucene.git: Cannot open: No such file or directory

tar: Error is not recoverable: exiting now

tar: This does not look like a tar archive

tar: Exiting with failure status due to previous errors

Makefile:191: recipefortarget'lucene-java-7.4.0'failed

make: *** [lucene-java-7.4.0] Error2

安装JCC:

pylucene-4.10.1-1进入jcc,修改setup.py:

JDK={

'darwin': JAVAHOME or JAVAFRAMEWORKS,

'ipod':'/usr/include/gcc',

'linux2':'/usr/lib/jvm/java-8-oracle',

# 'linux2': '/usr/lib/jvm/java-7-openjdk-amd64',

'sunos5':'/usr/jdk/instances/jdk1.6.0',

'win32': JAVAHOME,

'mingw32': JAVAHOME,

'freebsd7':'/usr/local/diablo-jdk1.6.0'

}

执行下面的命令:

sudopython setup.py build

sudopython setup.py install

验证JCC安装成功:

python-mjcc

pylucene-6.5.0进入jcc文件夹,执行下面的命令:

sudopython setup.py build

sudopython setup.py install

验证JCC安装成功:

python-mjcc

安装pylucene:根据系统环境修改Makefile文件:pylucene-4.10.1-1

PREFIX_PYTHON=/usr

#ANT=JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 /usr/bin/ant

ANT=JAVA_HOME=/usr/lib/jvm/java-8-oracle /usr/bin/ant

PYTHON=$(PREFIX_PYTHON)/bin/python

JCC=$(PYTHON)-mjcc--shared

NUM_FILES=8

pylucene-6.5.0

PREFIX_PYTHON=/usr

ANT=JAVA_HOME=/usr/lib/jvm/java-8-oracle /usr/bin/ant

PYTHON=$(PREFIX_PYTHON)/bin/python

JCC=$(PYTHON)-mjcc--shared

NUM_FILES=8

执行下面的命令:

make

sudomakeinstall

验证lucene安装成功:

python-c"import lucene"

遇到的问题执行make命令时报错:

...

BUILD SUCCESSFUL

Total time:12seconds

ICU not installed

/opt/apache/pylucene/_install/bin/python-mjcc--shared--jarlucene-java-6.5.0/lucene/build/core/lucene-core-6.5.0.jar--jarlucene-java-6.5.0/lucene/build/analysis/common/lucene-analyzers-common-6.5.0.jar--jarlucene-java-6.5.0/lucene/build/memory/lucene-memory-6.5.0.jar--jarlucene-java-6.5.0/lucene/build/highlighter/lucene-highlighter-6.5.0.jar--jarbuild/jar/extensions.jar--jarlucene-java-6.5.0/lucene/build/queries/lucene-queries-6.5.0.jar--jarlucene-java-6.5.0/lucene/build/queryparser/lucene-queryparser-6.5.0.jar--jarlucene-java-6.5.0/lucene/build/sandbox/lucene-sandbox-6.5.0.jar--jarlucene-java-6.5.0/lucene/build/analysis/stempel/lucene-analyzers-stempel-6.5.0.jar--jarlucene-java-6.5.0/lucene/build/grouping/lucene-grouping-6.5.0.jar--jarlucene-java-6.5.0/lucene/build/join/lucene-join-6.5.0.jar--jarlucene-java-6.5.0/lucene/build/facet/lucene-facet-6.5.0.jar--jarlucene-java-6.5.0/lucene/build/suggest/lucene-suggest-6.5.0.jar--jarlucene-java-6.5.0/lucene/build/expressions/lucene-expressions-6.5.0.jar--jarlucene-java-6.5.0/lucene/build/analysis/kuromoji/lucene-analyzers-kuromoji-6.5.0.jar--jarlucene-java-6.5.0/lucene/build/misc/lucene-misc-6.5.0.jar--use_full_names--includelucene-java-6.5.0/lucene/expressions/lib/antlr4-runtime-4.5.1-1.jar--includelucene-java-6.5.0/lucene/expressions/lib/asm-5.1.jar--includelucene-java-6.5.0/lucene/expressions/lib/asm-commons-5.1.jar--packagejava.lang java.lang.System java.lang.Runtime--packagejava.util java.util.Arrays java.util.Collections java.util.HashMap java.util.HashSet java.util.TreeSet java.lang.IllegalStateException java.lang.IndexOutOfBoundsException java.util.NoSuchElementException java.text.SimpleDateFormat java.text.DecimalFormat java.text.Collator--packagejava.util.concurrent java.util.concurrent.Executors--packagejava.util.regex--packagejava.io java.io.StringReader--packagejava.nio.file java.nio.file.Path java.nio.file.Files java.nio.file.Paths--excludeorg.apache.lucene.sandbox.queries.regex.JakartaRegexpCapabilities--excludeorg.apache.regexp.RegexpTunnel--excludeorg.apache.lucene.store.WindowsDirectory--excludeorg.apache.lucene.store.NativePosixUtil--pythonlucene--mappingorg.apache.lucene.document.Document'get:(Ljava/lang/String;)Ljava/lang/String;'--mappingjava.util.Properties'getProperty:(Ljava/lang/String;)Ljava/lang/String;'--sequencejava.util.AbstractList'size:()I''get:(I)Ljava/lang/Object;'org.apache.lucene.index.IndexWriter:getReader org.apache.lucene.analysis.Tokenizer:input--version6.5.0--modulepython/collections.py--modulepython/ICUNormalizer2Filter.py--modulepython/ICUFoldingFilter.py--modulepython/ICUTransformFilter.py--files8--build

make: /opt/apache/pylucene/_install/bin/python: Command not found

Makefile:340: recipefortarget'compile'failed

make: *** [compile] Error127

原因是:Makefile文件中的“PREFIX_PYTHON”配置错误,

PREFIX_PYTHON=/opt/apache/pylucene/_install

解决办法:按上面的Makefile修改即可。

Enjoy!

侠天,专注于大数据、机器学习和数学相关的内容,并有个人公众号:bigdata_ny分享相关技术文章。若发现以上文章有任何不妥,请联系我。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180831G1VTXN00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券