Python 添加nltk.download(';words';)后,运行谷歌云

Python 添加nltk.download(';words';)后,运行谷歌云,python,flask,google-cloud-platform,nltk,google-cloud-run,Python,Flask,Google Cloud Platform,Nltk,Google Cloud Run,我有一个在GCP上运行的Google Cloud Run应用程序。添加以下修改后,应用程序崩溃: nltk.download('stopwords') nltk.download('averaged_perceptron_tagger') nltk.download('maxent_ne_chunker') nltk.download('words') 我怀疑我需要在GCP服务器端手动安装这些文件,但我不知道如何安装 云运行的日志如下,我不知道如何下载云运行的资源,通常我使用应用程序引擎,后面

我有一个在GCP上运行的Google Cloud Run应用程序。添加以下修改后,应用程序崩溃:

nltk.download('stopwords')
nltk.download('averaged_perceptron_tagger')
nltk.download('maxent_ne_chunker')
nltk.download('words')
我怀疑我需要在GCP服务器端手动安装这些文件,但我不知道如何安装

云运行的日志如下,我不知道如何下载云运行的资源,通常我使用应用程序引擎,后面有一个集群运行。我不知道如何调试这个。请帮忙

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

请提供帮助。

nltk.downloader命令将尝试打开nltk downloader GUI,该GUI在App Engine上不起作用


相反,您需要按照“手动安装”说明进行操作:

这是我实际做的事情,它工作正常。由于我正在使用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映像repo,并从云运行中部署它

我想您正在将这些行添加到main.py文件中。您能否提供一个可复制的代码片段,app.yaml文件和requirements.txt,以便尝试复制它?你也能附上它给你的错误吗?您是否尝试在本地运行它?您的问题中没有多少细节。文件有多大
words
内存是否不足?查看Stackdriver日志中的错误消息。@sotis您介意看一下我修改过的问题吗?感谢您更新答案!有一个类似的案例可以解决您的问题。你也可以试试这个。如果你还有问题,你能添加你的dockerfile吗?@di,你介意看看我修改的问题吗。非常感谢。