1、由于hanlp是用java编译的,所以必须要配置java环境
2、hanlp会自动下载所需要的压缩包,也可以提前下载好,放到指定的位置
/usr/local/lib/python3.6/site-packages/pyhanlp/static/,我用的python3.6
FROM shaozhuquan/hanlp_model:v6 as model
FROM python:3.6-buster
WORKDIR /algo-signal
COPY . .
RUN pip install --upgrade pip \
&& pip install -r requirements.txt
COPY --from=model /hanlp/model/. /usr/local/lib/python3.6/site-packages/pyhanlp/static/
COPY --from=model /hanlp/java/. signals/java/
WORKDIR /usr/lib/jvm
RUN tar -zxvf /algo-signal/signals/java/jdk-8u281-linux-x64.tar.gz -C /usr/lib/jvm # 解压jdk
WORKDIR /algo-signal
RUN rm -rf signals/java
EXPOSE 80
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "80"]
shaozhuquan/hanlp_model:v3镜像内含有hanlp所需的文件和jdk安装文件
目录树:
需要的python包:
jpype1==0.7.0
pyhanlp==0.1.73
最后一步,在项目里要指定jdk环境变量:
os.environ['JAVA_HOME'] = '/usr/lib/jvm/jdk1.8.0_281'