Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/358.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在ubuntu 14.04上构建Pylucene(可信赖的塔哈尔)_Python_Ubuntu_Lucene_Ubuntu 14.04_Pylucene - Fatal编程技术网

Python 在ubuntu 14.04上构建Pylucene(可信赖的塔哈尔)

Python 在ubuntu 14.04上构建Pylucene(可信赖的塔哈尔),python,ubuntu,lucene,ubuntu-14.04,pylucene,Python,Ubuntu,Lucene,Ubuntu 14.04,Pylucene,根据安装情况,JCC已成功构建 安装的依赖项包括: ant,openjdk-7-jdk,python设置工具,python-dev 然后制作pylucene,在“Makefile”中,我选择了与Ubuntu11对应的规格 # Linux (Ubuntu 11.10 64-bit, Python 2.7.2, OpenJDK 1.7, setuptools 0.6.16) # Be sure to also set JDK['linux2'] in jcc's setup.py to th

根据安装情况,JCC已成功构建

安装的依赖项包括: ant,openjdk-7-jdk,python设置工具,python-dev

然后制作pylucene,在“Makefile”中,我选择了与Ubuntu11对应的规格

# Linux     (Ubuntu 11.10 64-bit, Python 2.7.2, OpenJDK 1.7, setuptools 0.6.16)
# Be sure to also set JDK['linux2'] in jcc's setup.py to the JAVA_HOME value
# used below for ANT (and rebuild jcc after changing it).
PREFIX_PYTHON=/usr
ANT=JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 /usr/bin/ant
PYTHON=$(PREFIX_PYTHON)/bin/python
JCC=$(PYTHON) -m jcc --shared
NUM_FILES=8
执行“sudo make”命令时遇到以下错误:

/usr/bin/python -m jcc --shared --jar lucene-java-4.6.1/lucene/build/core/lucene-core-4.6.1.jar --jar lucene-java-4.6.1/lucene/build/analysis/common/lucene-analyzers-common-4.6.1.jar --jar lucene-java-4.6.1/lucene/build/memory/lucene-memory-4.6.1.jar --jar lucene-java-4.6.1/lucene/build/highlighter/lucene-highlighter-4.6.1.jar --jar build/jar/extensions.jar --jar lucene-java-4.6.1/lucene/build/queries/lucene-queries-4.6.1.jar --jar lucene-java-4.6.1/lucene/build/queryparser/lucene-queryparser-4.6.1.jar --jar lucene-java-4.6.1/lucene/build/sandbox/lucene-sandbox-4.6.1.jar --jar lucene-java-4.6.1/lucene/build/analysis/stempel/lucene-analyzers-stempel-4.6.1.jar --jar lucene-java-4.6.1/lucene/build/grouping/lucene-grouping-4.6.1.jar --jar lucene-java-4.6.1/lucene/build/join/lucene-join-4.6.1.jar --jar lucene-java-4.6.1/lucene/build/facet/lucene-facet-4.6.1.jar --jar lucene-java-4.6.1/lucene/build/suggest/lucene-suggest-4.6.1.jar --jar lucene-java-4.6.1/lucene/build/expressions/lucene-expressions-4.6.1.jar  --use_full_names --include lucene-java-4.6.1/lucene/build/misc/lucene-misc-4.6.1.jar --include lucene-java-4.6.1/lucene/expressions/lib/antlr-runtime-3.5.jar --include lucene-java-4.6.1/lucene/expressions/lib/asm-4.1.jar --include lucene-java-4.6.1/lucene/expressions/lib/asm-commons-4.1.jar --package java.lang java.lang.System java.lang.Runtime --package java.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 --package java.util.concurrent java.util.concurrent.Executors --package java.util.regex --package java.io java.io.StringReader java.io.InputStreamReader java.io.FileInputStream java.io.DataInputStream --exclude org.apache.lucene.sandbox.queries.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;' --sequence java.util.AbstractList 'size:()I' 'get:(I)Ljava/lang/Object;' org.apache.lucene.index.IndexWriter:getReader --version 4.6.1 --module python/collections.py --module python/ICUNormalizer2Filter.py --module python/ICUFoldingFilter.py --module python/ICUTransformFilter.py --resources lucene-java-4.6.1/lucene/analysis/icu/src/resources --files 8 --build 
  Warning: renaming static method 'toString' on class java.lang.Boolean to 'toString_' since it is shadowed by non-static method of same name.
  Warning: renaming static method 'toString' on class java.lang.Character to 'toString_' since it is shadowed by non-static method of same name.
Exception in thread "main" java.lang.NoSuchMethodException: org.apache.lucene.analysis.Tokenizer.pythonDecRef()
    at java.lang.Class.getMethod(Class.java:1665)
Traceback (most recent call last):
  File "/usr/lib/python2.7/runpy.py", line 162, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "/usr/lib/python2.7/runpy.py", line 72, in _run_code
    exec code in run_globals
  File "/usr/local/lib/python2.7/dist-packages/JCC-2.19-py2.7-linux-x86_64.egg/jcc/__main__.py", line 107, in <module>
    cpp.jcc(sys.argv)
  File "/usr/local/lib/python2.7/dist-packages/JCC-2.19-py2.7-linux-x86_64.egg/jcc/cpp.py", line 687, in jcc
    declares, typeset)
  File "/usr/local/lib/python2.7/dist-packages/JCC-2.19-py2.7-linux-x86_64.egg/jcc/cpp.py", line 1174, in code
    superMethod = find_method(superCls, methodName, params)
  File "/usr/local/lib/python2.7/dist-packages/JCC-2.19-py2.7-linux-x86_64.egg/jcc/cpp.py", line 310, in find_method
    if (e.getJavaException().getClass().getName() == 'java.lang.NoSuchMethodException'):
  File "/usr/local/lib/python2.7/dist-packages/JCC-2.19-py2.7-linux-x86_64.egg/jcc/cpp.py", line 51, in getJavaException
    return self.args[0]
IndexError: tuple index out of range
make: *** [compile] Error 1
/usr/bin/python-mjcc--shared--jar-lucene-java-4.6.1/lucene/build/core/lucene-core-4.6.1.jar--jar-lucene-java-4.6.1/lucene-java-4.6.1.jar--jar-lucene-java-4.6.1/lucene/build/build/highlighter-4.6.1/lucene-highlighter-4.6.jar--build/jar/extensions.jar--jar-lucene-java-4.6.1/lucene/build/querys/lucene-querys-4.6.1/lucene/build/queryparser/lucene-queryparser-4.6.1.jar--jar-lucene-java-4.6.1/lucene/build/sandbox/lucene-sandbox-4.6.1.jar-----jar-lucene-java-4.6.1/lucene/build/analysis/analysis/stempel/stempel-4.6.jarlucene-java-4.6.1/lucene/build/grouping/lucene-grouping-4.6.1.jar--jar-lucene-java-4.6.1/lucene/build/join-4.6.1.jar--jar-lucene-java-4.6.1/lucene/build/facet/lucene-facet-4.6.1.jar---jar-lucene-java-4.6.1/suggest/lucene-4.6.1/build/expressions/lucene-4.6.jar--使用全名——包括lucene-java-4.6.1/lucene/build/misc/lucene-misc-4.6.1.jar——包括lucene-java-4.6.1/lucene/expressions/lib/antlr-runtime-3.5.jar——包括lucene-java-4.6.1/lucene/expressions/lib/asm-commons-4.1.jar——包java.lang.System java.lang.lang.runtime.jar--包java.util java.util.Arrays java.util.Collections java.util.HashMap java.util.HashSet java.util.TreeSet java.lang.IllegalStateException java.lang.IndexOutOfBoundsException java.util.NoTouchElementException java.text.SimpleDataFormat java.text.DecimalFormat java.text.Collator--包java.util.concurrent java.util.concurrent.Executors--包java.util.regex--包java.io java.io.StringReader java.io.InputStreamReader java.io.FileInputStream java.io.DataInputStream--排除org.apache.lucene.sandbox.querys.regex.jakartaregexpabilities--排除org.apache.regexp.RegexpTunnel--python lucene--映射org.apache.lucene.document.document'get:(Ljava/lang/String;)Ljava/lang/String;'--映射java.util.Properties'getProperty:(Ljava/lang/String;)Ljava/lang/String;'--sequence java.util.AbstractList'大小:()I''获取:(I)Ljava/lang/Object;'IndexWriter:getReader--version 4.6.1--module python/collections.py--module python/ICUNormalizer2Filter.py--module python/ICUFoldingFilter.py--module python/ICUTransformFilter.py--resources lucene-java-4.6.1/lucene/analysis/icu/src/resources--files 8--build
警告:正在将类java.lang.Boolean上的静态方法“toString”重命名为“toString_”,因为它被同名的非静态方法隐藏。
警告:正在将类java.lang.Character上的静态方法“toString”重命名为“toString_”,因为它被同名的非静态方法隐藏。
线程“main”java.lang.NoSuchMethodException中的异常:org.apache.lucene.analysis.Tokenizer.pythonDecRef()
位于java.lang.Class.getMethod(Class.java:1665)
回溯(最近一次呼叫最后一次):
文件“/usr/lib/python2.7/runpy.py”,第162行,在运行模块中作为主模块
“\uuuuu main\uuuuuuuuuuuuuuuuuuuuuuuuu”,fname,loader,pkg\u name)
文件“/usr/lib/python2.7/runpy.py”,第72行,在运行代码中
run_globals中的exec代码
文件“/usr/local/lib/python2.7/dist-packages/JCC-2.19-py2.7-linux-x86_64.egg/JCC/_-main___.py”,第107行
cpp.jcc(sys.argv)
JCC中的文件“/usr/local/lib/python2.7/dist packages/JCC-2.19-py2.7-linux-x86_64.egg/JCC/cpp.py”,第687行
(打印)
文件“/usr/local/lib/python2.7/dist packages/JCC-2.19-py2.7-linux-x86_64.egg/JCC/cpp.py”,第1174行,代码
superMethod=find_方法(超级库、方法名、参数)
文件“/usr/local/lib/python2.7/dist packages/JCC-2.19-py2.7-linux-x86_64.egg/JCC/cpp.py”,第310行,在find_方法中
如果(例如:getJavaException().getClass().getName()=“java.lang.NoSuchMethodException”):
getJavaException中的第51行文件“/usr/local/lib/python2.7/dist packages/JCC-2.19-py2.7-linux-x86_64.egg/JCC/cpp.py”
返回self.args[0]
索引器错误:元组索引超出范围
生成:**[compile]错误1
在搜索错误时,发现了几个有类似错误的旧错误,但我无法得到任何提示

你能告诉我出了什么问题以及如何解决吗


在安装pyLucene之前,我需要安装java Lucene吗?

按照这些说明()让我的系统安装了
pyLucene
。在它工作之前,它是疯狂的,我有这个问题(),但经过彻底的重新格式化和新的ubuntu 14.04,我让它运行:

# Downloads and extract pylucene
$ wget http://mirror.serversupportforum.de/apache/lucene/pylucene/pylucene-4.9.0-0-src.tar.gz
$ tar -zxvf pylucene-4.9.0-0-src.tar.gz

# Install dependencies
$ sudo apt-get install ant
$ sudo apt-get install g++
$ sudo apt-get install python-dev
$ sudo apt-get install python3-setuptools
$ sudo easy_install pip
$ sudo pip install setuptools --upgrade 

# Build and install pylucene
$ cd pylucene-4.9.0-0/jcc
$ sudo python setup.py build
$ sudo python setup.py install 
$ cd ..
编辑名为“Makefile”的文件,该文件位于刚刚解压缩的pylucene-4.9.0目录的根目录下,并找到此行:

# Linux     (Ubuntu 11.10 64-bit, Python 2.7.2, OpenJDK 1.7, setuptools 0.6.16)
取消对Makefile中的行的注释,如图所示(如果您在linux上),并保存更改:

然后继续:

$ make 
$ sudo make install  
瞧,它已经安装好了。要测试
pylucene
是否有效:

$ python
>>> import lucene
>>> lucene.initVM()

是的,你确实需要Lucene才能使用PyLucene。事实上,这似乎是你的问题。错误中的符号(即,
NoSuchMethodException
以及其他符号)似乎表明JCC无法改进Lucene的方法。你确定它已经安装了吗?如果你不局限于pylucene,而只需要一些搜索库,那么看看whoosh。不需要java,纯python.askubuntu.com上问它