【问题标题】:Docker: Download all from nltk in DockerfileDocker:从 Dockerfile 中的 nltk 下载所有内容
【发布时间】:2017-04-03 10:24:04
【问题描述】:

如何在 Dockerfile 中实现以下目标:

sudo python
import nltk
nltk.download('all')

【问题讨论】:

  • sudo python -c 'import nltk; nltk.download("all")'?
  • 好吧,我是 docker 的新手,但我想知道是否可以在将容器构建到映像时发送这些 nltk 资源?

标签: python docker nltk


【解决方案1】:

您可以使用所需的一切构建自定义 Docker 映像:

FROM python:3.6-slim
RUN pip3 install nltk
RUN [ "python", "-c", "import nltk; nltk.download('all')" ]
ENTRYPOINT python

然后构建:

docker build -t docker-nltk .

然后运行:

docker run -it docker-nltk

【讨论】:

  • 很好的答案!只是想问一些题外话。您是否尝试过 python3.6 是否在 docker 中正确安装和运行?这将帮助我们解决这个问题:github.com/nltk/nltk/issues/1659
【解决方案2】:

如果您将代码添加到文件 downloadall.py 中,此 Dockerfile 将在我的机器上完成这项工作:

FROM python:3
RUN pip install nltk
ADD downloadall.py /
CMD [ "python", "./downloadall.py" ]

让我知道它是否适合你!

【讨论】:

  • 不错的解决方案@rmeertens
【解决方案3】:

这是正确的做法:

FROM python:3.7

RUN pip install nltk
RUN python -m nltk.downloader all

...rest of Dockerfile...

【讨论】:

    猜你喜欢
    • 2016-10-28
    • 2019-03-03
    • 2018-08-11
    • 2021-11-25
    • 2020-11-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-22
    相关资源
    最近更新 更多