在Mac上安装PyLucene

时间:2013-01-17 10:04:00

标签: macos pylucene jcc

我希望能够在我的Mac上使用pyLucene。这些说明让我绝望地失去了,因为每一条设置或制作的指令都要求我在它之前做一些事情,并且很难知道从哪个窗口开始做什么以及做什么。

我已经下载了PyLucene。我想知道的第一件事是我把文件夹放在哪里,因为这对我来说似乎不言自明。

要使用它,我被告知我需要构建JCC,它包含在pylucene下载中。

说明:

  

在命令行中输入:

$ python setup.py build
$ sudo python setup.py install

但要做到这一点,我认为,我需要在正确的位置或将文件夹放在正确的位置,否则我会得到"setup.py" not found

您可以在此环境中提供任何帮助(shell窗口?IDE?)。获得第一部分的任何帮助:建立JCC,然后设置pylucene非常感谢。

2 个答案:

答案 0 :(得分:6)

这适用于最近的macOS版本。首先,请确保安装:

然后添加到您的~/.bash_profile

export JAVA_HOME=$(/usr/libexec/java_home)

然后,重新加载你的shell。

Download PyLucene并从您的shell中提取文件夹cd。现在,请按照official installation guide

中的说明操作
cd jcc
python setup.py build

现在,安装JCC:

python setup.py install

(如果您使用的是macOS系统Python,则可能需要sudo。)

现在返回父文件夹并编辑Makefile。按照指示将未注释的行替换为antpythonjccNUM_FILES的实际路径:

ANT=ant
PYTHON=python
JCC=python -m jcc
NUM_FILES=8

现在构建PyLucene:

make
make test

最后,要安装内置的PyLucene:

make install

(如果使用系统Python,则可能需要sudo。)

答案 1 :(得分:3)

here下载适用于Mac的预制JCC和pylucene egg。

截至目前,最新版本为JCC-2.8和lucene-3.1.0 for python 2.6,所以下面我将使用easy_install-2.6和python2.6。

安装它们:

$ sudo easy_install-2.6 JCC-*.egg
$ sudo easy_install-2.6 lucene-*.egg

测试:

$ python2.6
>>> import jcc
>>> import lucene
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Library/Python/2.6/site-packages/lucene-3.1.0-py2.6-macosx-10.6-universal.egg/lucene/__init__.py", line 7, in <module>
    import _lucene
ImportError: dlopen(/Library/Python/2.6/site-packages/lucene-3.1.0-py2.6-macosx-10.6-universal.egg/lucene/_lucene.so, 2): Library not loaded: @rpath/libjcc.dylib
  Referenced from: /Library/Python/2.6/site-packages/lucene-3.1.0-py2.6-macosx-10.6-universal.egg/lucene/_lucene.so
  Reason: image not found

如果您收到上述错误,只需在libjcc.dylib中创建/usr/local/lib/的符号链接即可解决此问题。 libjcc.dylib应位于site-packages/JCC-*.egg/内。

>>> jcc.__file__
'/Library/Python/2.6/site-packages/JCC-2.8-py2.6-macosx-10.7-intel.egg/jcc/__init__.pyc'
>>> ^D

$ ln -s /Library/Python/2.6/site-packages/JCC-2.8-py2.6-macosx-10.7-intel.egg/libjcc.dylib /usr/local/lib/

$ python2.6
>>> import jcc, lucene
>>>