我有一个谷歌云运行应用程序在GCP上运行。添加以下修改后,应用程序崩溃:
nltk.download('stopwords')
nltk.download('averaged_perceptron_tagger')
nltk.download('maxent_ne_chunker')
nltk.download('words')我怀疑我需要在GCP服务器端手动安装这些文件,但我不知道怎么做。
Cloud Run的日志如下,我不知道如何为Cloud Run下载资源,通常我使用App Engine,后面有一个集群运行。我不知道如何调试它。请帮帮我!
19-11-01 18:08:00.524 PDT Resource [93mpunkt[0m not found.
2019-11-01 18:08:00.524 PDT Please use the NLTK Downloader to obtain the resource:
2019-11-01 18:08:00.524 PDT
2019-11-01 18:08:00.524 PDT [31m>>> import nltk
2019-11-01 18:08:00.524 PDT >>> nltk.download('punkt')
2019-11-01 18:08:00.524 PDT [0m
2019-11-01 18:08:00.524 PDT For more information see: https://www.nltk.org/data.html
2019-11-01 18:08:00.524 PDT
2019-11-01 18:08:00.524 PDT Attempted to load [93mtokenizers/punkt/PY3/english.pickle[0m
2019-11-01 18:08:00.524 PDT
2019-11-01 18:08:00.524 PDT Searched in:
2019-11-01 18:08:00.524 PDT - '/home/nltk_data'
2019-11-01 18:08:00.524 PDT - '/usr/local/nltk_data'
2019-11-01 18:08:00.524 PDT - '/usr/local/share/nltk_data'
2019-11-01 18:08:00.524 PDT - '/usr/local/lib/nltk_data'
2019-11-01 18:08:00.524 PDT - '/usr/share/nltk_data'
2019-11-01 18:08:00.524 PDT - '/usr/local/share/nltk_data'
2019-11-01 18:08:00.524 PDT - '/usr/lib/nltk_data'
2019-11-01 18:08:00.524 PDT - '/usr/local/lib/nltk_data'
2019-11-01 18:08:00.524 PDT - ''
2019-11-01 18:08:00.524 PDT**********************************************************************
2019-11-01 18:08:00.524 PDT
2019-11-01 18:08:00.527 PDTPOST500498 B2.2 sChrome 78 https://model-zsairbvdca-uc.a.run.app/upload/documents
2019-11-01 18:08:01.329 PDTGET404437 B4 msChrome 78 https://model-zsairbvdca-uc.a.run.app/favicon.ico请帮帮忙。
发布于 2019-11-10 02:37:54
这就是我实际做的,它起作用了。因为我使用的是Docker和GCP,所以我需要更新Dockerfile,以便GCP知道如何构造镜像:
RUN python -m nltk.downloader all -d /usr/local/nltk_data我从GCP得到的日志是这样的:
2019-11-08 18:39:32.900 PST Attempted to load [93mtokenizers/punkt/PY3/english.pickle[0m
2019-11-08 18:39:32.900 PST
2019-11-08 18:39:32.900 PST Searched in:
2019-11-08 18:39:32.900 PST - '/home/nltk_data'
2019-11-08 18:39:32.900 PST - '/usr/local/nltk_data'
2019-11-08 18:39:32.900 PST - '/usr/local/share/nltk_data'
2019-11-08 18:39:32.900 PST - '/usr/local/lib/nltk_data'
2019-11-08 18:39:32.900 PST - '/usr/share/nltk_data'
2019-11-08 18:39:32.900 PST - '/usr/local/share/nltk_data'
2019-11-08 18:39:32.900 PST - '/usr/lib/nltk_data'
2019-11-08 18:39:32.900 PST - '/usr/local/lib/nltk_data'
2019-11-08 18:39:32.900 PST - ''这里真正的问题不是将nltk数据放在哪里,而是GCP不会足够频繁地重新启动docker镜像,因此我必须手动将新的docker镜像推送到GCP镜像存储库,并从Cloud Run部署它!
发布于 2019-11-02 01:00:46
nltk.downloader命令将尝试打开NLTK downloader GUI,这在App Engine上不起作用。
相反,您需要遵循“手动安装”说明:https://www.nltk.org/data.html#manual-installation
https://stackoverflow.com/questions/58654672
复制相似问题