正在尝试为 python 安装 lucene。首先需要安装jcc。为 jcc 构建 setup.py 时,出现错误 ld: library not found for -ljava
Trying to install lucene for python. First need to install jcc. When building setup.py for jcc, I get the error ld: library not found for -ljava
正在尝试为 python 安装 lucene。
首先需要安装jcc。为 jcc 构建 setup.py 时,出现错误 ld: library not found for -ljava
Entire error can be found [here][1]:
this is code
JCC’s setup.py file needs to be edited before building JCC to specify the location of the Java Runtime Environment’s header files and libraries.
另见 building 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
所以这似乎具有误导性,但似乎仍然可以正常工作。
正在尝试为 python 安装 lucene。 首先需要安装jcc。为 jcc 构建 setup.py 时,出现错误 ld: library not found for -ljava
Entire error can be found [here][1]:
this is code
JCC’s setup.py file needs to be edited before building JCC to specify the location of the Java Runtime Environment’s header files and libraries.
另见 building 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
所以这似乎具有误导性,但似乎仍然可以正常工作。