如何解决使用jcc时java1.8的pylucene安装错误。我收到 fata 错误

问题描述 投票:0回答:1

我正在尝试在我的 Colab 笔记本上安装 PyLucene。我按照文档中的说明使用 Java 1.8 作为 pyLucene 8.8.1。以下是我安装时遵循的步骤以及收到的错误。

机器详情-

  • Ubuntu:20.04
  • Python:3.10
  • 海湾合作委员会:11.4.0
  1. 安装Java 1.8并相应设置路径。我已经安装了驱动器,因此将相应地使用路径。
java_path = "/content/drive/MyDrive/java1.8/jdk1.8.0_202/bin/java"
  1. 安装了Ant和Ivy,并设置了它们的路径
ant_path = "/content/drive/MyDrive/ant/apache-ant-1.9.16/bin/ant"
ivy_path = "/content/drive/MyDrive/ivy/apache-ivy-2.5.2/ivy-2.5.2.jar"
  1. 提取pyLucene并设置其路径
pylucene_path = "/content/drive/MyDrive/pylucene/pylucene-8.8.1/"
  1. 安装JCC。在 setup.py 文件中进行了一项更改。这是文件的编辑部分。 “linux”密钥已更新以反映 JDK 的路径。
JDK = {
    'darwin': JAVAHOME or JAVAFRAMEWORKS,
    'ipod': '/usr/include/gcc',
    'linux': '/content/drive/MyDrive/java1.8/jdk1.8.0_202',
    'sunos5': '/usr/jdk/instances/jdk1.6.0',
    'win32': JAVAHOME,
    'mingw32': JAVAHOME,
    'freebsd7': '/usr/local/diablo-jdk1.6.0'
}
  1. 构建并安装 setup.py 文件。
  2. 编辑了 PyLucene 的 Makefile。插入了 JDK 和 ANT 的正确路径。
# Linux     (Debian Jessie 64-bit, Python 3.4.2, Oracle Java 1.8                
# Be sure to also set JDK['linux'] 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=/content/drive/MyDrive/java1.8/jdk1.8.0_202 /content/drive/MyDrive/ant/apache-ant-1.9.16/bin/ant
PYTHON=$(PREFIX_PYTHON)/bin/python3
JCC=$(PYTHON) -m jcc --shared
NUM_FILES=200
  1. 现在我运行
    make
    命令,然后运行
    make install
    命令。这是输出
Installed /usr/local/lib/python3.10/dist-packages/lucene-8.8.1-py3.10-linux-x86_64.egg
Processing dependencies for lucene==8.8.1
Finished processing dependencies for lucene==8.8.1
  1. 当我运行命令时
    make test
    。这就是我收到错误的地方。这是错误
 A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00007a3cb50d7e3c, pid=57124, tid=0x00007a3cb88c8000
#
# JRE version: Java(TM) SE Runtime Environment (8.0_202-b08) (build 1.8.0_202-b08)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.202-b08 mixed mode linux-amd64 compressed oops)
# Problematic frame:
# V  [libjvm.so+0x6d7e3c]  jni_RegisterNatives+0x7c
#
# Core dump written. Default location: /content/drive/MyDrive/pylucene/pylucene-8.8.1/core or core.57124
#

我不知道我做错了什么。我已经把所有的路径都设置好了,但不知道哪里错了。对此的任何帮助将不胜感激。为了进一步清晰起见,我可以分享 Colab 笔记本。

我尝试不安装驱动器并在当前运行时安装所有内容。我在文件中相应地更改了路径。但是,我遇到了同样的错误。

java-8 pylucene jcc
1个回答
0
投票

当 make install 成功完成后,没有理由进行 make 测试。只需运行此代码:

  1. 这是普通文本。

  2. 这也是,但现在遵循一个代码块:

     import lucene
    
    
    def check_pylucene_setup():
    try:
     lucene.initVM()
     print(f"PyLucene version: {lucene.VERSION}")
    

    导入错误除外: print("PyLucene 未正确安装。") 除了异常 e: print(f"发生错误:{e}")

check_pylucene_setup()

我们可以检查此 Pylucene 发行版中包含的所有 Lucene 包

print(f“此 Pylucene 发行版中包含的 Lucene 软件包:”) for p in Sorted(lucene.CLASSPATH.split(':')): 打印(p)

© www.soinside.com 2019 - 2024. All rights reserved.