Установка PyLucene 3.0.3 в Ubuntu 10.04 - PullRequest
5 голосов
/ 06 апреля 2011

Я пытаюсь установить PyLucene 3.0.3 на Ubuntu 10.04. Это оказалось довольно сложным, но до сих пор я:

  • Исправлены установочные инструменты, позволяющие создавать JCC, как указано в документации PyLucene.
  • Встроенный JCC через: CD Pylucene-3.0.3-1 / JCC; python setup.py build
  • Построил Lucene 3.0.3 через ant и установил jar в /usr/share/java/lucene-core-3.0.3-dev.jar. Обратите внимание, у меня установлен пакет Lucene по умолчанию для Ubuntu в /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, что и тот, который я установил. Как еще мне нужно отредактировать мой make-файл для сборки PyLucene?

Редактировать: После раскомментирования раздела в make-файле (спасибо 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 голосов
/ 06 апреля 2011

Я делал это раньше (но без установки стандартного пакета Lucene в Ubuntu).Я не знаю, что именно является Error 127, но в моем случае это помогло установить NUM_FILES=200 из исходного NUM_FILES=2 в моем Makefile.По какой-то причине, когда NUM_FILES=2 создает в памяти действительно огромные файлы, которые Ubuntu не будет обрабатывать.С NUM_FILES=200 куски меньше, и установка в конце концов сработала для меня.Для python 2.6 вы также должны изменить настройку JCC в Makefile (см. Ниже).

Вот часть, которая была важна для меня в 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
...