无法在docker中安装nltk

时间:2017-10-30 12:42:59

标签: python python-3.x docker nltk dockerfile

我正在尝试在docker上安装nltk软件包,下面是我的docker文件

FROM python:3-onbuild

# COPY startup script into known file location in container
COPY start.sh /start.sh

RUN python -m libs.py

# EXPOSE port 8000 to allow communication to/from server
EXPOSE 8000

# CMD specifcies the command to execute to start the server running.
CMD ["/start.sh"]

# done!

libs.py 包含nltk软件包,在required.txt nltk == 3.2.5 已安装

import nltk
nltk.data.path('libs/')
nltk.download('wordnet')
nltk.download('pros_cons')
nltk.download('snowball_data')
nltk.download('averaged_perceptron_tagger')
nltk.download('averaged_perceptron_tagger_ru')
nltk.download('punkt')
nltk.download('universal_tagset')
nltk.download('maxent_treebank_pos_tagger')
nltk.download('hmm_treebank_pos_tagger')
nltk.download('reuters')
nltk.download('treebank')
nltk.download('vader_lexicon')
nltk.download('porter_test')
nltk.download('rslp')

但是它却给我了码头图片上的错误:

 File "/usr/src/app/training/views.py", line 9, in <module>
    from src import main_file as main
  File "/usr/src/app/src/main_file.py", line 10, in <module>
    from src import aspects_from_correct_data as asp
  File "/usr/src/app/src/aspects_from_correct_data.py", line 4, in <module>
    from nltk.tag import pos_tag
  File "/usr/src/app/nltk.py", line 2, in <module>
    nltk.download('wordnet')
AttributeError: module 'nltk' has no attribute 'download'

1 个答案:

答案 0 :(得分:0)

我正在使用带有nltk==3.2.4的Anaconda而我没有运行Docker。

当我注释掉第二行(libs.py)时,nltk.data.path('libs/')脚本适合我。每data Module docsnltk.data.path是一个列表,而不是函数。