NLTK不在docker中工作
我想在docker中运行nltk服务。但是,我总是收到错误消息“nltk”不是一个包。你能找出哪里出了问题吗?在构建过程中,一切正常,nltk版本被打印出来。当用docker compose up nltk启动容器时,我得到 $docker编写nltk Dockerfile nltk.py 尝试将nltk.py重命名为其他名称。我猜import-nltk和from-nltk.corpus试图从nltk.py文件而不是包中导入。它在构建映像时工作的原因是,您的nltk.py文件还不存在,因为它是在运行时从compose文件装入的 最终文件 最终docker撰写NLTK不在docker中工作,docker,nltk,docker-compose,Docker,Nltk,Docker Compose,我想在docker中运行nltk服务。但是,我总是收到错误消息“nltk”不是一个包。你能找出哪里出了问题吗?在构建过程中,一切正常,nltk版本被打印出来。当用docker compose up nltk启动容器时,我得到 $docker编写nltk Dockerfile nltk.py 尝试将nltk.py重命名为其他名称。我猜import-nltk和from-nltk.corpus试图从nltk.py文件而不是包中导入。它在构建映像时工作的原因是,您的nltk.py文件还不存在,因为它是在
伟大的我想这就成功了。非常感谢。我将发布最终版本
Recreating nltk
Attaching to nltk
nltk | Traceback (most recent call last):
nltk | File "/var/www/nltk.py", line 1, in <module>
nltk | from nltk.corpus import brown
nltk | File "/var/www/nltk.py", line 1, in <module>
nltk | from nltk.corpus import brown
nltk | ModuleNotFoundError: No module named 'nltk.corpus'; 'nltk' is not a package
nltk:
build: docker/nltk
container_name: nltk
volumes:
- ./volumes/nltk/var/www/nltk.py:/var/www/nltk.py
environment:
HOME: /var/www
FROM python:3.6
RUN mkdir /var/www
ENV HOME /var/www
WORKDIR /var/www
RUN pip install -U nltk
RUN pip install -U numpy
RUN python -m nltk.downloader -d $HOME/nltk_data all
RUN python -c "import nltk"
RUN python -c "import nltk; print(nltk.__version__)"
EXPOSE 80
CMD [ "python", "/var/www/nltk.py" ]
import nltk
from nltk.corpus import brown
brown.words()
FROM python:3.6
ENV NLTK_DATA /usr/share/nltk_data
RUN pip install -U nltk
RUN pip install -U numpy
RUN python -m nltk.downloader -d /usr/share/nltk_data all
EXPOSE 80
WORKDIR /var/www
CMD [ "python", "/var/www/main.py" ]
nltk:
build: docker/nltk
container_name: nltk
volumes:
- ./volumes/nltk/var/www/main.py:/var/www/main.py