尝试为 python 安装 lucene。首先需要安装jcc。为 jcc 构建 setup.py 时,出现错误 ld: library not found for -ljava
Entire error can be found [here][1]:
this is code
JCC的文档指出:
在构建 JCC 之前需要编辑 JCC 的 setup.py 文件,以指定 Java 运行时环境的头文件和库的位置。
另请参阅构建 JCC。
在我的 OSX 系统上,运行安装时发现JAVAHOME
并回显:JAVAFRAMEWORKS
$ python setup.py install
found JAVAHOME = /Library/Java/JavaVirtualMachines/jdk1.8.0_141.jdk/Contents/Home
found JAVAFRAMEWORKS = /System/Library/Frameworks/JavaVM.framework
...
我用 Python 2.7 进行了测试。另外,从jcc
源目录:
>>> from helpers2.darwin import JAVAHOME, JAVAFRAMEWORKS
found JAVAHOME = /Library/Java/JavaVirtualMachines/jdk1.8.0_141.jdk/Contents/Home
found JAVAFRAMEWORKS = /System/Library/Frameworks/JavaVM.framework
如果你JAVAHOME
没有被发现,你可以设置环境变量JCC_JDK
。例子:
$ ls /Library/Java/JavaVirtualMachines/
jdk1.7.0_80.jdk jdk1.8.0_25.jdk
jdk1.8.0_141.jdk jdk1.8.0_91.jdk
$ JCC_JDK=/Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home python setup.py install
在这种情况下,它看起来像是jdk1.7.0_80
用于编译,但输出的前两行是:
found JAVAHOME = /Library/Java/JavaVirtualMachines/jdk1.8.0_141.jdk/Contents/Home
found JAVAFRAMEWORKS = /System/Library/Frameworks/JavaVM.framework
所以这似乎具有误导性,但似乎仍然可以正常工作。