在 python 3.4 中使用 java 和 nltk
use java in python 3.4 with nltk
我想在我的项目中使用 stanford-tagger 但出现以下错误。
File "C:\Python34\lib\site-packages\nltk\tag\stanford.py", line 59, in tag
return self.tag_sents([tokens])[0]
File "C:\Python34\lib\site-packages\hazm\POSTagger.py", line 25, in tag_sents
return super(stanford.POSTagger, self).tag_sents(refined)
File "C:\Python34\lib\site-packages\nltk\tag\stanford.py", line 64, in tag_sents
config_java(options=self.java_options, verbose=False)
File "C:\Python34\lib\site-packages\nltk\internals.py", line 82, in config_java
_java_bin = find_binary('java', bin, env_vars=['JAVAHOME', 'JAVA_HOME'], verbose=verbose, binary_names=['java.exe'])
File "C:\Python34\lib\site-packages\nltk\internals.py", line 544, in find_binary
binary_names, url, verbose))
File "C:\Python34\lib\site-packages\nltk\internals.py", line 538, in find_binary_iter
url, verbose):
File "C:\Python34\lib\site-packages\nltk\internals.py", line 517, in find_file_iter
raise LookupError('\n\n%s\n%s\n%s' % (div, msg, div))
LookupError:
===========================================================================
NLTK was unable to find the java file!
Use software specific configuration paramaters or set the JAVAHOME environment variable.
===========================================================================
NLTK 找不到 java 文件!
使用软件特定的配置参数或设置 JAVAHOME 环境变量。
请帮我设置 java 变量。我使用 windows 8 64 位和 python 3.4
Here's the Java documentation for setting your path.
Windows 8
- 将鼠标指针拖动到屏幕的右下角
- 单击“搜索”图标并键入:控制面板
- 点击 -> 控制面板 -> 系统 -> 高级
- 点击Environment Variables,在System Variables下,找到PATH,点击它。
- 在编辑 windows 中,通过将 class 的位置添加到 PATH 的 * 值来修改 PATH。如果您没有项目 PATH,您可以 select 添加一个新变量并添加 PATH 作为名称和 class 的位置作为值。
- 关闭 window.
- 重新打开命令提示符 window,然后 运行 您的 java 代码。
将其添加到您的代码中:
java_path = "C:/Program Files/Java/jdk1.8.0_191/bin/java.exe"
os.environ['JAVAHOME'] = java_path
您的 nltk 库在您的计算机中找不到 java 目录。
在你的 venv 中找到 nltk 库文件并在文件中找到 internals.py
在代码中找到这一行:
def config_java(bin=None, options=None, verbose=False)
像这样更改代码:
java_path = "C:/Program Files/Java/jre1.8.0_281/bin/java.exe" #your java file address
os.environ['JAVAHOME'] = java_path
def config_java(bin=java_path, options=None, verbose=False):
...
我想在我的项目中使用 stanford-tagger 但出现以下错误。
File "C:\Python34\lib\site-packages\nltk\tag\stanford.py", line 59, in tag
return self.tag_sents([tokens])[0]
File "C:\Python34\lib\site-packages\hazm\POSTagger.py", line 25, in tag_sents
return super(stanford.POSTagger, self).tag_sents(refined)
File "C:\Python34\lib\site-packages\nltk\tag\stanford.py", line 64, in tag_sents
config_java(options=self.java_options, verbose=False)
File "C:\Python34\lib\site-packages\nltk\internals.py", line 82, in config_java
_java_bin = find_binary('java', bin, env_vars=['JAVAHOME', 'JAVA_HOME'], verbose=verbose, binary_names=['java.exe'])
File "C:\Python34\lib\site-packages\nltk\internals.py", line 544, in find_binary
binary_names, url, verbose))
File "C:\Python34\lib\site-packages\nltk\internals.py", line 538, in find_binary_iter
url, verbose):
File "C:\Python34\lib\site-packages\nltk\internals.py", line 517, in find_file_iter
raise LookupError('\n\n%s\n%s\n%s' % (div, msg, div))
LookupError:
===========================================================================
NLTK was unable to find the java file!
Use software specific configuration paramaters or set the JAVAHOME environment variable.
===========================================================================
NLTK 找不到 java 文件! 使用软件特定的配置参数或设置 JAVAHOME 环境变量。
请帮我设置 java 变量。我使用 windows 8 64 位和 python 3.4
Here's the Java documentation for setting your path.
Windows 8
- 将鼠标指针拖动到屏幕的右下角
- 单击“搜索”图标并键入:控制面板
- 点击 -> 控制面板 -> 系统 -> 高级
- 点击Environment Variables,在System Variables下,找到PATH,点击它。
- 在编辑 windows 中,通过将 class 的位置添加到 PATH 的 * 值来修改 PATH。如果您没有项目 PATH,您可以 select 添加一个新变量并添加 PATH 作为名称和 class 的位置作为值。
- 关闭 window.
- 重新打开命令提示符 window,然后 运行 您的 java 代码。
将其添加到您的代码中:
java_path = "C:/Program Files/Java/jdk1.8.0_191/bin/java.exe"
os.environ['JAVAHOME'] = java_path
您的 nltk 库在您的计算机中找不到 java 目录。
在你的 venv 中找到 nltk 库文件并在文件中找到 internals.py
在代码中找到这一行:
def config_java(bin=None, options=None, verbose=False)
像这样更改代码:
java_path = "C:/Program Files/Java/jre1.8.0_281/bin/java.exe" #your java file address
os.environ['JAVAHOME'] = java_path
def config_java(bin=java_path, options=None, verbose=False):
...