python3 -m nltk.downloader -d /usr/local/share/nltk_data all
在GCP中运行上述命令后,我看到以下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
而且我已经安装了nltk。同时安装,我不得不添加——代理开关。我假设这里也需要代理切换,所以这里可能会有问题。但是我不知道如何在这里添加代理开关。
我创建了一个GCE实例来安装NLTK并测试您包含的命令,它显示了相同的警告消息。根据NLTK Github存储库中的这个问题,由于在__init__.py
文件中导入模块的方式,会出现警告消息。NLTK开发人员解释说,重构模块会破坏向后兼容性。当引用这里的注释时,警告消息似乎是一个已知的问题,并且是无害的。
如果你想隐藏警告消息,那么你可以从Python中使用-W开关,像这样:
python3 -W ignore -m nltk.downloader -d ./nltk.data all
另一种选择是首先在Python一行脚本中使用-c开关手动导入NLTK(参数是要下载的包,可以在他们的文档中引用):
python3 -c “import nltk; nltk.download(‘all’)”
RUN python3 -c “import nltk; nltk.download(‘all’)” # When running from a Dockerfile
我在一个GCE实例中测试了这两个选项,没有看到警告消息。这个文档是GCP外部的,所以我不能保证它们的准确性。