安装简介
pyhanlp 安装相对比较简单,分为以下几步:
1.使用 pip install pyhanlp 安装
2. 下载数据并将放至指定的目录下
主程序安装成功后,由于还需要字典和模型数据,所以需要下载安装,但是由于数据包有几百兆,所以很容易安装失败。我们可以使用第三方工具下载,然后将数据放至在以下文件夹 C:\ProgramData\Anaconda3\Lib\site-packages\pyhanlp\static
即可。具体包的位置可以通过以下错误信息获得。如下所示,在最后一行提示 c:/programdata/anaconda3/lib/site-packages/pyhanlp/static\data 不存在
,这个路径即是数据路径。
C:\Users\pc>hanlp segment
Traceback (most recent call last):
File "c:\programdata\anaconda3\lib\runpy.py", line 193, in _run_module_as_main
"__main__", mod_spec)
File "c:\programdata\anaconda3\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "C:\ProgramData\Anaconda3\Scripts\hanlp.exe\__main__.py", line 5, in <module>
File "c:\programdata\anaconda3\lib\site-packages\pyhanlp\__init__.py", line 145, in <module>
_start_jvm_for_hanlp()
File "c:\programdata\anaconda3\lib\site-packages\pyhanlp\__init__.py", line 77, in _start_jvm_for_hanlp
HANLP_DATA_PATH)
ValueError: 配置错误: 数据包 c:/programdata/anaconda3/lib/site-packages/pyhanlp/static\data 不存在,请修改配置文件中的root
如以上所示,将压缩包解压至在 c:/programdata/anaconda3/lib/site-packages/pyhanlp/static
目录下即可,解压后的 static
目录下的结构如下所示。
C:/programdata/anaconda3/lib/site-packages/pyhanlp
├─static
│ ├─data
│ │ ├─dictionary
│ │ │ ├─custom
│ │ │ ├─organization
│ │ │ ├─other
│ │ │ ├─person
│ │ │ ├─pinyin
│ │ │ ├─place
│ │ │ ├─synonym
│ │ │ └─tc
│ │ └─model
│ │ ├─crf
│ │ │ └─pku199801
│ │ ├─dependency
│ │ └─perceptron
│ │ ├─ctb
│ │ ├─large
│ │ ├─pku1998
│ │ └─pku199801
│ └─__pycache__
└─__pycache__
注意事项
- 完成的HanLP的程序的名称是
pyhanlp
,而不是hanlp
- 如下所示,由于网络原因,有可能在安装时会出错而中断,只需多试几次即可。
$ pip install pyhanlp
Collecting pyhanlp
Downloading https://files.pythonhosted.org/packages/87/06/95b417a4c19d1d529f331ae6a3923c3d556916f8c1846be926322b1d2915/pyhanlp-0.1.57.tar.gz (85kB)
|████████ | 20kB 2.8kB/s eta 0:00:24ERROR: Exception:
Traceback (most recent call last):
File "C:\ProgramData\Anaconda3\lib\site-packages\pip\_vendor\urllib3\response.py", line 397, in _error_catcher
...
...
(中间省略若干行)
...
...
File "C:\ProgramData\Anaconda3\lib\site-packages\pip\_vendor\urllib3\response.py", line 402, in _error_catcher
raise ReadTimeoutError(self._pool, None, 'Read timed out.')
pip._vendor.urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='files.pythonhosted.org', port=443): Read timed out.
运行
Eclipse运行方法
- 新建项目
- 将[1]/hanlp-1.7.5.jar引入至项目中
- 将[1]/hanlp.properties复制到在程序的[2]目录下(如果不行在src目录下也放一个)
参考目录
[1] C:\ProgramData\Anaconda3\Lib\site-packages\pyhanlp\static
[2] C:\Users\pc\eclipse-workspace\HanlpDemo\bin
示例程序
package Test001;
import com.hankcs.hanlp.HanLP;
public class Demo1 {
public static void main(String[] args) {
System.out.println(HanLP.segment("你好,欢迎使用HanLP!"));
}
}
Python运行方法
直接编写如下代码即可运行。
#coding=utf-8
from pyhanlp import *
print(HanLP.segment('你好,欢迎在Python中调用 HanLP的API'))