无法在Docker中安装nltk

我想在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包,在requirements.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') 

但它,但它给了我在docker图像上的错误:

  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' 

我用nltk==3.2.4使用Anaconda,而且我没有运行Docker。

当我注释掉第二行( nltk.data.path('libs/') )时,你的libs.py脚本适用于我。 根据data模块docs , nltk.data.path是一个列表,而不是一个函数。