我正在尝试在我的 Colab 笔记本上安装 PyLucene。我按照文档中的说明使用 Java 1.8 作为 pyLucene 8.8.1。以下是我安装时遵循的步骤以及收到的错误。
机器详情-
java_path = "/content/drive/MyDrive/java1.8/jdk1.8.0_202/bin/java"
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"
pylucene_path = "/content/drive/MyDrive/pylucene/pylucene-8.8.1/"
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'
}
# 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
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
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 笔记本。
我尝试不安装驱动器并在当前运行时安装所有内容。我在文件中相应地更改了路径。但是,我遇到了同样的错误。
当 make install 成功完成后,没有理由进行 make 测试。只需运行此代码:
这是普通文本。
这也是,但现在遵循一个代码块:
import lucene
def check_pylucene_setup():
try:
lucene.initVM()
print(f"PyLucene version: {lucene.VERSION}")
导入错误除外: print("PyLucene 未正确安装。") 除了异常 e: print(f"发生错误:{e}")
check_pylucene_setup()
print(f“此 Pylucene 发行版中包含的 Lucene 软件包:”) for p in Sorted(lucene.CLASSPATH.split(':')): 打印(p)