繁体   English   中英

spaCy 和 Docker:无法“dockerize”使用 spaCy 模块的 Flask 应用程序

[英]spaCy and Docker: can't "dockerize" Flask app that uses spaCy modules

我正在尝试在我的 docker 映像上安装 SpaCy,但它总是失败。 首先它在我的 requirements.txt 文件中,但它立即失败了。 后来我尝试为 pip 运行单独的 RUN 指令以单独安装它,但它也失败了。

这是我的 Dockerfile 内容:

FROM python:3.6-alpine
WORKDIR /sentenceSimilarity
ADD . /sentenceSimilarity
RUN pip install -r requirements.txt
RUN pip install -U pip setuptools wheel
RUN pip install -U spacy
RUN python -m spacy download en_core_web_sm
CMD ["python", "app.py"]

我最终从我的 requirements.txt 文件中删除了除 Flask 之外的所有内容,并且问题总是偶然发现 Spacy 出现的那一行,现在唯一的区别是它需要很长时间才能失败。 看截图:

在此处输入图像描述

稍微观察一下,我认为 pip 一直在迭代检查哪个版本可能适合,从最新到最旧。 但是最后没有一个被安装。

我见过其他人与 SpaCy 有类似问题,但没有明显的解决方案。

有人可以建议我可以用来解决此问题的方法吗? 提前致谢。

The spacy installation extremely slow in docker Github issue explains the problem with the Alpine Python docker (I see you have FROM python:3.6-alpine in your dockerfile):

如果您使用的是 Alpine Linux 容器,您可能不应该这样做:对于 Python 来说,这是一个糟糕的选择,因为 PyPi 轮子都不起作用,所以您必须重建所有东西。 如果您决定使用 Alpine Linux,您应该为自己配备一个驾驶室,这样您就不必一直重建车轮。

因此,您需要使用另一个图像,例如 @mkkeffeler 推荐的纤薄 docker 图像。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM