【问题标题】:Docker Resource wordnet not found未找到 Docker 资源 wordnet
【发布时间】:2021-09-23 14:17:15
【问题描述】:

我正在使用以下 Dockerfile 构建一个 docker 容器:

FROM ubuntu:20.04

WORKDIR /app


COPY . /app


# Keeps Python from generating .pyc files in the container
ENV PYTHONDONTWRITEBYTECODE=1


# Turns off buffering for easier container logging
ENV PYTHONUNBUFFERED=1


Run apt update -y
Run apt install python3 python3-pip -y
# Install pip requirements


COPY ./tokenize /root/nltk_data/tokenize
RUN pip3 install -r requirements.txt
Run pip3 install gunicorn
Run pip3 install pip tensorflow==2.3.0




EXPOSE 5000
CMD ["gunicorn", "--bind", "0.0.0.0:5000", "run:app"]

我遇到了这个错误:

**********************************************************************
  Resource wordnet not found.
  Please use the NLTK Downloader to obtain the resource:

  >>> import nltk
  >>> nltk.download('wordnet')

  For more information see: https://www.nltk.org/data.html

  Attempted to load corpora/wordnet

  Searched in:
    - '/root/nltk_data'
    - '/usr/nltk_data'
    - '/usr/share/nltk_data'
    - '/usr/lib/nltk_data'
    - '/usr/share/nltk_data'
    - '/usr/local/share/nltk_data'
    - '/usr/lib/nltk_data'
    - '/usr/local/lib/nltk_data'
**********************************************************************

【问题讨论】:

  • 看来你复制到 /root/ntlk_data 到图像中的任何内容都不够。您是否验证过所需的一切真的都在那里?

标签: python docker nltk wordnet


【解决方案1】:

当ganicorn 尝试开始为您的程序提供服务时,该错误表明该程序正在寻找与nltk 相关的Wordnet 资源。一个简单的解决方案是预先下载资源。为此,您可以创建一个包含名为 RUN.sh 的命令的新文件

#!/bin/bash    
python -c "import nltk\nnltk.download('wordnet')"
gunicorn --bind 0.0.0.0:5000 run:app

复制图像中的新文件,然后使用此.sh 文件启动您的服务器!

CMD /the/new/file/location/RUN.sh

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-07
    • 1970-01-01
    • 2019-04-30
    • 2013-06-22
    • 1970-01-01
    • 2020-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多