python - Docker 中的 Spacy Load 模型

标签 python docker spacy

我想在 docker 容器中运行 spacy 文本操作。

我的项目很简单:

FROM python:3-onbuild

RUN python -m spacy download en_core_web_sm

CMD  ["python3", "TextAnalyzerLaunch.py"]

在构建时,我看到模型已成功下载。

但是,在 docker run sp = spacy.load('en') 上找不到模型

所以我试着变得聪明(好黑):

try:
    sp = spacy.load('en')
except:
    log.getLogger().info("Loading spacy model")
    subprocess.call(['python', '-m', "spacy", "download", "en_core_web_sm"])
    sp = spacy.load('en')
    pass

再次,我看到它加载成功,但仍然出现以下错误

Can't find model 'en'. It doesn't seem to be a shortcut link .....

注意:没有 docker,我的工具运行得很好

最佳答案

哦,那其实很简单:

虽然 p = spacy.load('en') 在 pycharm 中运行良好,但我需要在 docker 中使用完整的 p = spacy.load('en_core_web_sm')容器

关于python - Docker 中的 Spacy Load 模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63497243/

相关文章:

python - Spacy 日语分词器

python - 理解展平一系列序列?

python - 如何获取上周三的 Python 日期对象

nlp - 如何在spaCy中处理很长的文档?

c# - 如何从 Nuget 包动态加载 Mvc Controller 。 Docker 容器问题

docker - 如何与 docker 容器共享 gradle 缓存

python - Spacy链接错误

python - 按参数列表过滤数据帧

python迭代json结构和键值未知的json文件

docker - 是否可以为 `docker build` 设置 MAC 地址?