pylucene:安装错误

时间:2011-11-30 01:12:54

标签: python ubuntu pylucene jcc

更新问题:

谢谢Favoretti!

我使用apt-get安装了jcc,并且pylucene下的makefile运行了一点并抛出了java错误,我没有任何线索。这里是。你能告诉我它是什么错误吗?

While loading org/apache/pylucene/search/PythonIntParser
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/lib/python2.7/dist-packages/jcc/__main__.py", line 98, in <module>
    cpp.jcc(sys.argv)
  File "/usr/lib/python2.7/dist-packages/jcc/cpp.py", line 549, in jcc
    cls = findClass(className.replace('.', '/'))
  File "/usr/lib/python2.7/dist-packages/jcc/cpp.py", line 73, in findClass
    cls = _findClass(className)
jcc.cpp.JavaError: java.lang.UnsupportedClassVersionError: org/apache/pylucene/search/PythonIntParser : Unsupported major.minor version 51.0
Java stacktrace:
java.lang.UnsupportedClassVersionError: org/apache/pylucene/search/PythonIntParser : Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)

make: *** [compile] Error 255

2 个答案:

答案 0 :(得分:2)

如果您的python位于/ usr / bin / python中,即系统python并来自您的发行版提供的包 - 它可能不会查找/usr/local/lib/python2.7/site-packages/jcc默认情况下。

你可以尝试将PYTHONPATH环境变量设置为/usr/lib/python2.7:/usr/local/lib/python2.7并尝试编译,否则只需将jcc包移动到/ usr / lib / python2.7。

这假设你的python安装来自系统默认包,而它的“home”位置是/usr/lib/python2.7。

希望这有帮助。

答案 1 :(得分:0)

按照favoretti和pradeep的建议,如果你是 仍然面临这个问题请尝试以下方法:

  1. 我建议下载jcc并重新安装详细信息 http://lucene.apache.org/pylucene/jcc/install.html 安装jcc时,请在jcc源代码中打开setup.py并确认 变量'linux2'指向您想要使用的版本 例如'linux2':'/ usr / lib / jvm / java-7-oracle'或者在你的情况下,会引用openjdk。

  2. 输入pylucene源文件夹。确认“PREFIX_PYTHON”应与which python匹配。

  3. 在pylucene来源中做'make clean'。这应该摆脱 来自早期版本的陈旧类文件,并使用'make'重建。 这对我有用。

  4. 此致 萨钦