Я строю Docker контейнер с помощью следующей Dockerfile:Docker NLTK Скачать
FROM ubuntu:14.04
RUN apt-get update
RUN apt-get install -y python python-dev python-pip
ADD . /app
RUN apt-get install -y python-scipy
RUN pip install -r /arrc/requirements.txt
EXPOSE 5000
WORKDIR /app
CMD python app.py
Все идет хорошо, пока я не запускать файл и получить следующее сообщение об ошибке:
**********************************************************************
Resource u'tokenizers/punkt/english.pickle' not found. Please
use the NLTK Downloader to obtain the resource: >>>
nltk.download()
Searched in:
- '/root/nltk_data'
- '/usr/share/nltk_data'
- '/usr/local/share/nltk_data'
- '/usr/lib/nltk_data'
- '/usr/local/lib/nltk_data'
- u''
**********************************************************************
Я имел эту проблему раньше и обсуждается here, однако я не уверен, как подойти к нему с помощью Docker. Я пробовал:
CMD python
CMD import nltk
CMD nltk.download()
, а также:
CMD python -m nltk.downloader -d /usr/share/nltk_data popular
Но я все еще получаю ошибку.
это неправильно «CMD питон CMD импорта NLTK CMD nltk.download()» это то же самое, как открыт терминал, тип 'python', открыть другой терминал, тип' импорта nltk' и так (конечно, вторая команда не будет выполнена, так как она не находится в Python – user2915097
может быть 'RUN python -c 'import nltk; nltk.download()'' или что-то в этом роде (я не уверен в синтаксисе) – user2915097