关键字: Windows 7 win7 pylucene lucene jcc
版本:
Python 2.7.3
(pylucene)lucene-4.4.0-py2.7-win32
JCC-2.17-py2.7-win32 用于python启动java虚拟机
JCC和Pylucene下载地址:http://lucene.apache.org/pylucene/
jdk-1.6.0_45 win32 请用32位的java,64位的jdk貌似不支持
apache-ant-1.8.4 编译lucene的时候需要用到ant,http://ant.apache.org/bindownload.cgi
make-3.8.1 http://sourceforge.net/projects/gnuwin32/files/make/有windows版傻瓜一键安装的exe程序
安装过程就如lucene官网的教程一样简单:http://lucene.apache.org/pylucene/install.html
pushd jcc
<edit setup.py to match your environment>
python setup.py build
sudo python setup.py install
popd
<edit Makefile to match your environment>
make
sudo make install
make test (look for failures)
但前提是你先把python,jdk,ant,make这一堆东西配好...就显得不那么简单了
1. JDK
我的jdk的路径是:C:\java\jdk1.6.0_45
环境变量,“计算机”右键 -> 属性 -> 高级系统设置 -> 环境变量
PATH变量中加入C:\java\jdk1.6.0_45;C:\java\jdk1.6.0_45\bin;C:\java\jdk1.6.0_45\lib;C:\java\jdk1.6.0_45\jre\bin\server
* 注意这个bin\server一定要加进去,否则JCC找不到jvm.dll
JAVA_HOME变量设为C:\Program Files (x86)\Java\jdk1.6.0_45, 不设也成
2. ANT
下一个ant丢C:\java\apache-ant-1.8.4
ant最好不要放在C:\Programs Files里,因为C:\Programs Files\ant\bin\ant会因为Programs后有一个空格而不能正常执行,当然也有一些办法来支持这样带有空格的路径,但是...不要恶心自己了,找到没有空格的路径装ant一劳永逸...如果之前装的ant在Programs Files里只要将它复制过去,改一下系统环境就成了。
环境变量:参考http://ant.apache.org/manual/install.html
ANT_HOME: C:\java\apache-ant-1.8.4
PATH里加上C:\java\apache-ant-1.8.4\bin
Python和make就不说了
3. 修改jcc的setup.py和pylucene的makefile
解压缩lucene-4.4.0-py2.7-win32
如果你的电脑里有jdk的多个版本,最好是修改一下jcc/setup.py,明确地指定你要用的jdk,很简单,只要在用到JAVAHOME之前的地方写上
JAVAHOME="C:\java\jdk1.6.0_45" 即可
然后:
cd jcc
python setup.py build
python setup.py install
安装好JCC以后,你应该能在python的console里import jcc而不出现错误提示了
解压缩pylucene后根目录下的makefile需要你把windows那部分的配置信息,我的是:
PREFIX_PYTHON=C:\Python27
JAVA_HOME=C:\java\jdk1.6.0_45
ANT=C:\java\apache-ant-1.8.4\bin\ant
PYTHON=$(PREFIX_PYTHON)\python.exe
JCC=$(PYTHON) -m jcc --shared --find-jvm-dll
NUM_FILES=8
如果不改的话会提示error ANT is not defined, please edit Makefile as required at top等错误
另外如果遇到这种提示:
cd C:\Users\lijunbo\Downloads\pylucene-4.4.0-1\lucene-java-4.4.0\lucene ; (C:\ja
va\apache-ant-1.8.4\bin\ant ivy-availability-check || C:\java\apache-ant-1.8.4\b
in\ant ivy-bootstrap)
process_begin: CreateProcess(NULL, uname, ...) failed.
文件名、目录名或卷标语法不正确。
Buildfile: build.xml does not exist!
Build failed
make: *** [ivy] 错误 1
就需要你把makefile中的所有的
cd **; **
改成
cd ** && **
比如
cd $(LUCENE) ; ($(ANT) ivy-availability-check || $(ANT) ivy-bootstrap)
改成
cd $(LUCENE) && ($(ANT) ivy-availability-check || $(ANT) ivy-bootstrap)
make
make install
一切顺利的话,你应该能在python的console里import lucene而不出现错误提示了