首页 文章

在Ubuntu 10.04上安装PyLucene 3.0.3

提问于
浏览
5

我正在尝试在Ubuntu 10.04上安装PyLucene 3.0.3 . 事实证明这具有相当大的挑战性,但到目前为止,我已经:

  • 修补了setuptools以允许按照PyLucene文档中的指示构建JCC .

  • 通过以下方式建造JCC:cd pylucene-3.0.3-1 / jcc; python setup.py构建

  • 通过ant构建Lucene 3.0.3,并将jar安装到/usr/share/java/lucene-core-3.0.3-dev.jar . 注意,我将Ubuntu的默认Lucene软件包安装到/usr/share/java/lucene-core-2.9.2.jar,它也符号链接到/usr/share/java/lucene-core.jar

我现在正试图“制作”PyLucene,但是我得到了错误:

cd lucene-java-3.0.3;  -Dversion=3.0.3
/bin/sh: -Dversion=3.0.3: not found
make: *** [lucene-java-3.0.3/build/lucene-core-3.0.3.jar] Error 127

文件pylucene-3.0.3-1 / doc / documentation / install.html提到“编辑Makefile以匹配您的环境”,但我不确定这意味着什么 . makefile似乎包含与我安装的版本号相同的Lucene版本号 . 我还需要编辑我的makefile才能构建PyLucene?

编辑:取消注释makefile中的一个部分(感谢Torsten)在Ubuntu 8.10下编译(严重的是,8.10 ?!),大部分编译好了,但我仍然收到错误 . 几个组件报告“BUILD SUCCESSFUL”,但最终版本以:

/usr/bin/python -m jcc --shared --jar lucene-java-3.0.3/build/lucene-core-3.0.3.jar --jar lucene-java-3.0.3/build/contrib/snowball/lucene-snowball-3.0.3.jar --jar lucene-java-3.0.3/build/contrib/analyzers/common/lucene-analyzers-3.0.3.jar --jar lucene-java-3.0.3/build/contrib/regex/lucene-regex-3.0.3.jar --jar lucene-java-3.0.3/build/contrib/memory/lucene-memory-3.0.3.jar --jar lucene-java-3.0.3/build/contrib/highlighter/lucene-highlighter-3.0.3.jar --jar lucene-java-3.0.3/build/contrib/queries/lucene-queries-3.0.3.jar --jar build/jar/extensions.jar  --package java.lang java.lang.System java.lang.Runtime --package java.util java.util.Arrays java.text.SimpleDateFormat java.text.DecimalFormat java.text.Collator --package java.io java.io.StringReader java.io.InputStreamReader java.io.FileInputStream --exclude org.apache.lucene.queryParser.Token --exclude org.apache.lucene.queryParser.TokenMgrError --exclude org.apache.lucene.queryParser.QueryParserTokenManager --exclude org.apache.lucene.queryParser.ParseException --exclude org.apache.lucene.search.regex.JakartaRegexpCapabilities --exclude org.apache.regexp.RegexpTunnel --python lucene --mapping org.apache.lucene.document.Document 'get:(Ljava/lang/String;)Ljava/lang/String;' --mapping java.util.Properties 'getProperty:(Ljava/lang/String;)Ljava/lang/String;' --rename org.apache.lucene.search.highlight.SpanScorer=HighlighterSpanScorer --version 3.0.3 --module python/collections.py --files 200 --build 
/usr/bin/python: jcc is a package and cannot be directly executed
make: *** [compile] Error 1

1 回答

  • 2

    之前我做过这个(但是没有安装Lucene 's default package in Ubuntu). I don'知道究竟是什么 Error 127 ,但在我的情况下,它帮助我从Makefile中的原始 NUM_FILES=2 设置 NUM_FILES=200 . 出于某种原因,当 NUM_FILES=2 它在内存中创建了非常大的文件,ubuntu不会使用 NUM_FILES=200 ,块很小,最后安装对我有用 . 对于python 2.6,你还必须更改Makefile中的 JCC 设置(见下文) .

    这里是Makefile中对我来说很重要的部分:

    # Linux     (Ubuntu 8.10 64-bit, Python 2.5.2, OpenJDK 1.6, setuptools 0.6c9)
    PREFIX_PYTHON=/usr
    ANT=ant
    PYTHON=$(PREFIX_PYTHON)/bin/python
    JCC=$(PYTHON) -m jcc.__main__ --shared
    NUM_FILES=200
    

相关问题