当前位置:   article > 正文

Dockerfile 下载NLTK Data避坑指南_nltk_data 下载

nltk_data 下载

目录

命令行安装

配置到Dockerfile中之后运行报错

手动安装

下载器报错

报错信息结论

解决DNS解析问题

查看需要安装包的下载链接

 查看下载链接域名信息

修改HOSTS文件

完整Dockerfile


完整的Dockerfile在最后自行参考,Chromedriver按需要配置。

NLTK官网 

NLTK :: Installing NLTK Data

Github地址

GitHub - nltk/nltk_data: NLTK Data

命令行安装

 此处提到命令下载:

  1. python -m nltk.downloader all
  2. sudo python -m nltk.downloader -d /usr/local/share/nltk_data all

配置到Dockerfile中之后运行报错

docker build -t python:nltk .

Cannot assign requested address 无法分配请求地址

手动安装

查看手动下载地址

https://www.nltk.org/nltk_data/

 根据官网描述,下载后zip文件需要解压到对应的目录下。例如:https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/brown.zip 解压到 nltk_data/corpora/brown目录。

尝试使用下载器下载链接

https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/corpora/brown.zip

下载器报错

无法分配请求的地址,该地址无效

报错信息结论

说明域名无法访问,此时我们使用ping命令测试一下连通性

由此可见域名解析出了问题,需要解决DNS解析问题之后就可以正常访问了。 

解决DNS解析问题

查看需要安装包的下载链接

 查看下载链接域名信息

https://www.ipaddress.com/site/raw.githubusercontent.com

找到域名解析的IPV4地址

 再用ping命令测试一下

修改HOSTS文件

说明ip没问题,最后以管理员身份打开HOSTS文件

Windows: C:\Windows\System32\drivers\etc\HOSTS

Linux: /etc/hosts

添加以下配置

  1. 185.199.108.133 raw.githubusercontent.com
  2. 185.199.109.133 raw.githubusercontent.com
  3. 185.199.110.133 raw.githubusercontent.com
  4. 185.199.111.133 raw.githubusercontent.com

再ping一次域名

再次执行Docker命令

docker build -t python:nltk .

 建议指定类型安装NLTK Data可以减少image大小,避免安装失败。

  1. # 建议安装指定nltk data
  2. RUN python3 -W ignore -m nltk.downloader -d /root/nltk.data punkt
  3. RUN python3 -W ignore -m nltk.downloader -d /root/nltk.data stopwords

完整Dockerfile

  1. FROM python:3.9
  2. RUN cd && mkdir .pip && mkdir .ssh
  3. COPY ./pip.ini /root/.pip/pip.conf
  4. # 配置时区
  5. RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
  6. RUN sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
  7. RUN sed -i s@/security.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
  8. RUN sed -i s@/deb.debian.org/@/mirrors.aliyun.com/@g /etc/apt/sources.list
  9. # 配置Google sign key
  10. RUN wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | apt-key add -
  11. RUN sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list'
  12. # 准备工作
  13. RUN apt-get clean
  14. RUN apt-get update
  15. RUN apt-get install git openssl
  16. RUN apt-get clean
  17. RUN apt-get install -y google-chrome-stable
  18. # 下载chromedriver
  19. RUN apt-get install -yqq unzip
  20. RUN wget -O /tmp/chromedriver.zip http://chromedriver.storage.googleapis.com/`curl -sS chromedriver.storage.googleapis.com/LATEST_RELEASE`/chromedriver_linux64.zip
  21. # 解压
  22. RUN unzip /tmp/chromedriver.zip chromedriver -d /usr/local/bin/
  23. RUN rm -rf /tmp/chromedriver.zip
  24. RUN apt remove -y unzip
  25. RUN chmod 777 -R /opt/
  26. # 安装NLTK
  27. RUN pip3 install --upgrade pip && pip3 install wheel && pip3 install nltk
  28. # 下载nltk data(以下几种方式都可以,-d参数后面必须跟目录)
  29. # RUN python3 -m nltk.downloader all
  30. # RUN python3 -m nltk.downloader -d /root/nltk.data all
  31. # RUN python3 -c "import nltk; nltk.download('all')"
  32. # 忽略Warning日志
  33. # RUN python3 -W ignore -m nltk.downloader -d /root/nltk.data all
  34. # 安装指定nltk data
  35. RUN python3 -W ignore -m nltk.downloader -d /root/nltk.data punkt
  36. RUN python3 -W ignore -m nltk.downloader -d /root/nltk.data stopwords
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/344251
推荐阅读
相关标签
  

闽ICP备14008679号