nltk:构建时无法下载包 punkt docker

nltk: Unable to download package punkt while building docker

我是运行这背后的企业代理
使用命令:运行 python -m nltk.downloader punkt

/usr/local/lib/python3.8/runpy.py:127: RuntimeWarning: 'nltk.downloader' found in sys.modules after import of package 'nltk', but prior to execution of 'nltk.downloader'; this may result in unpredictable behaviour
  warn(RuntimeWarning(msg))

[nltk_data] Error loading punkt: <urlopen error [Errno -2] Name or
[nltk_data]     service not known>
Error installing package. Retry? [n/y/e]
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/runpy.py", line 194, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/local/lib/python3.8/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/usr/local/lib/python3.8/site-packages/nltk/downloader.py", line 2533, in <module>
    rv = downloader.download(
  File "/usr/local/lib/python3.8/site-packages/nltk/downloader.py", line 790, in download
    choice = input().strip()

EOFError: EOF when reading a line

您可能必须在 docker 构建期间将代理配置传递到您的容器中,see。不过,这仅在 nltk 评估那些标准环境变量时有效。

docker build \
  --build-arg HTTP_PROXY=http://10.20.30.2:1234 \
  --build-arg FTP_PROXY=http://40.50.60.5:4567 \
  .

我只在 PyCharm 遇到过这个错误。当我使用 docker build . -t relish/my_image 在命令行上构建我的容器时,错误没有发生,我的 PyCharm 构建也开始工作了。