hanlp 2.x 的安装问题是论坛里面的常见问题,经常有人说装不上啊……
现在就给大家提供一个非常简单的解决方案,各种平台通吃(linux、mac os、windows)
第一步:安装docker (如果这一步你已经实现了,那实际安装hanlp只需要两步)
docker 是什么、有什么好处,就不展开解释了。docker的相关书籍、资料多如牛毛,各种平台都可安装,是云 时代居家旅行、开发部署的必备良药。
注1:在国内的同学为了加快镜像下载速度,可以使用国内镜像源,推荐使用 https://docker.mirrors.ustc.edu.cn/
第二步:使用docker下载 tensorflow 镜像
具体的镜像版本根据 https://github.com/hankcs/HanLP/blob/doc-zh/setup.py 里面 指定的 tensorflow 版本来定。
例如,本文发表时,代码中注明有
install_requires=[ ‘tensorflow==2.3.0’
则 tensorflow 的版本为 2.3.0
相应的,我们需要下载 tensorflow 的 2.3.0 的 docker 镜像, 指令如下:
docker pull tensorflow/tensorflow:2.3.0
注2:可根据具体需要选用 2.3.0 的各种版本,如gpu版等等…… 参见 https://hub.docker.com/r/tensorflow/tensorflow/tags/?page=1&name=2.3.0
注3: linux 下docker 指令前可能要加 sudo
第三步:构建hanlp镜像
3.1 创建一个目录,比如 hanlp-docker
3.2 在该目录下,创建一个 “Dockerfile” 文件(就是 Dockerfile 这个文件名!)
3.3 编辑该文件如下
# tensorflow 的版本号根据具体情况修改
FROM tensorflow/tensorflow:2.3.0
# pypi 的国内源可以根据需要修改
RUN pip install -i https://mirror.baidu.com/pypi/simple --no-cache-dir hanlp
3.4 结束编辑后,执行如下指令
docker build -t hanlp .
等待构建成功,出现
Successfully built …
字样
3.5 测试安装结果,随便建一个目录,比如 hanlp-test
创建一个 python文件, 比如 test.py
import hanlp
tokenizer = hanlp.load(hanlp.pretrained.cws.LARGE_ALBERT_BASE)
print(tokenizer('商品和服务'))
3.6 通过 docker 运行测试文件
docker run -it --rm \
-v $(pwd)/root-hanlp:/root/.hanlp \
-v $(pwd):/usr/src/app \
-w /usr/src/app \
hanlp \
python test.py
第一次运行,会等待模型下载,模型会下载到当前目录的 root-hanlp 子目录下, 下次再运行就免去了模型下载过程。