NLTK 找不到 Java 可执行文件

2022-09-02 00:03:49

我正在使用NLTK的nltk.tag.stanford,它需要调用java可执行文件。

我将JAVAHOME设置为C:\Program Files\Java\jdk1.6.0_25安装我的jdk的地方,但是当运行该程序时,我收到错误

"NLTK was unable to find the java executable! Use the config_java() or set the JAVAHOME variable"

然后我花了3个小时调试它并尝试

config_java("C:/Program Files/Java/jdk1.6.0_25/")

config_java("C:/Program Files/Java/jdk1.6.0_25/bin/")
and those without the ending "/". 

但是,nltk仍然找不到它。

有人知道出了什么问题吗?谢谢战利品!


答案 1

如果设置JAVA_HOME环境对您没有帮助,请尝试以下操作:

config_java()对我不起作用。我将以下行添加到我的代码中,它起作用了:

import os
java_path = "C:/Program Files/Java/jdk1.7.0_11/bin/java.exe"
os.environ['JAVAHOME'] = java_path

我运行的是 Windows 7 64 位


答案 2

我花了大约七个小时来解决这个问题,终于找到了解决方案。您可以将 java 目录直接写入 internals.py 文件(build 2.0.4)的第 69 和 72 行,如下所示:

##########################################################################
# Java Via Command-Line
##########################################################################

_java_bin = 'C:\Program Files\Java\jdk1.7.0_25\\bin\java.exe'
_java_options = []
# [xx] add classpath option to config_java?
def config_java(bin='C:\Program Files\Java\jdk1.7.0_25\\bin\java.exe', options=None, verbose=True):

这为我解决了问题。(我在 32 位 Windows 环境中工作)