python调用java需要jpype库
第一步: 安装 pyhanlp: pip install pyhanlp
若报错,安装Visual C++
打开控制面板(可以win+Q,在小娜的搜索框里直接搜索),在“程序”中找到已经安装的程序:
类似这样,这里安装的事Visual C++ 2015,如果没有,也可以直接在网上搜索下载,安装包很小的。 Download Visual C++ 2015https://www.microsoft.com/en-us/download/details.aspx?id=53587
第二步: 安装完成后并不能使用,因为hanlp是java开发的虽然有python的API但是还是需要java环境,所以需要安装JDK,并配置Java 环境变量
JDK 安装:在Oracle的官网上就可以下载到:JDKhttps://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html,选择自己使用的版本即可,注意要勾选Accept那个按钮才能下载。下载完成后安装即可。
参考该链接: JDK环境变量配置http://www.cnblogs.com/nicholas_f/articles/1494073.html。
第三步:安装Jpype: pip install jpype1。
测试jpype是否安装成功:
from jpype import *
# 启动java虚拟机,在后续的任何java代码被调用之前,
# 必须先调用此方法启动java虚拟机
startJVM(getDefaultJVMPath(), "-ea")
java.lang.System.out.println("触摸壹缕阳光")
shutdownJVM()
# 当使用完JVM后,可以通过shutdownJVM()来关闭JVM,
# 该函数没有输入参数。当Python程序退出时,JVM会自动关闭。
当然如果只导入jpype包的话,执行上面的代码会变成下面的样子:
import jpype
jpype.startJVM(getDefaultJVMPath(), "-ea")
# 这里尤为的要注意
jpype.java.lang.System.out.println("我爱文本挖掘!")
jpype.shutdownJVM()
第四步: 测试
第一使用 from pyhanlp import *
命令来导入的时候会自动下载data 以及jar包,整个过程大概有1G左右吧,所以首次运行会比较慢,第二次就快多了。
具体做法: 打开 python IDE,输入 import pyhanlp, 会自动下载 HanLP jar 和properties 文件,默认放在 python ->Lib->site packages 文件夹下的 pyhanlp ->static 文件夹下
StandardTokenizer = JClass("com.hankcs.hanlp.tokenizer.StandardTokenizer")
print(StandardTokenizer.segment("使用这个工具进行标准分词"))
若是上述代码跑得通,则说明安装好啦!
更多关于hanlp 的调用方法可以参见:python调用Hanlp做命名实体识别以及词性标注 - 简书https://www.jianshu.com/p/d7e7cc747e56