使用 adoptopenjdk 在 MacO 上安装 Pylucene / Java8

Pylucene installation on MacOs with adoptopenjdk / Java8

我正在尝试安装 JCC(作为 PyLucene 安装的一部分),我遇到了几个问题。 我使用的 python 版本是 3.7,我已经使用 brew cask 安装了 adoptopenjdk-8.jdk(因为 Java-8 在没有特定许可的情况下不再可用(在某处阅读))。在这并没有真正起作用之后我手动安装了 Java-8

我在 shell 中尝试 运行 setup.py(使用 java8 或 adoptopenjdk)时收到的错误是:

OSError: warning: [options] bootstrap class path not set in conjunction with -source 5 
error: Source option 5 is no longer supported. Use 7 or later. 
error: Target option 5 is no longer supported. Use 7 or later.

请帮我安装PyLucene!

与这些有关(但它们已过时且不起作用):

pyLucene Installation

https://medium.com/@michaelaalcorn/how-to-use-pylucene-e2e2f540024c

编辑: 我意识到这与 javac 版本有关,但我不知道如何解决它。 这个网站看起来很有帮助(从代码来看)但我不明白这里写的是什么:https://www.jianshu.com/p/dcd149a65eb0

所以,

在 2 个位置更改 setup.py 文件解决了它:

第 185 行:

JAVAC = {
'darwin': ['/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/bin/javac', '-source', '1.5', '-target', '1.5'],

并在此处添加一行(第 68 行):

JAVAHOME = '/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home'

JDK = {
'darwin': JAVAHOME,
'ipod': '/usr/include/gcc',

咬牙切齿后,我发现这对构建pylucene有效

我的配置:

  • Mac OSX 10.15.7

  • Powerbook Intel core i7(我注意到这个,因为我得到了 奇怪的错误“gcc:错误:此编译器不支持 arm64” 尝试用 gcc 编译时)

  • Python 2.7.16 (Python 3.8.2 好像不行...很多编译 类型错误。)

  • Apple clang 版本 12.0.0 (clang-1200.0.32.29)

  • gcc(自制 GCC 10.2。0_3)10.2.0

我使用 clang 而不是 gcc(这似乎根本不起作用),方法是这样做:

export CC=/usr/bin/clang
export CXX=/usr/bin/clang++

在文件 setup.py 中,我从 LFLAG 字典中删除了 -ljava-ljvm 标志,其中 darwin 在键中。否则,ld 会抱怨。

我只成功构建了pylucene。我不知道(还)它是否适用于 Python 2.7 或 Python 3.x

我会更新细节。