我在openshift中托管了一个Python webservice应用程序,该应用程序使用nltk的RSLP Stemmer模块,但服务日志报告:
[...] Resource 'stemmers/rslp/step0.pt' not found. Please use the NLTK Downloader to obtain the resource: >>> nltk.download()
Searched in:
- '/var/lib/openshift/539a61ab5973caa2410000bf/nltk_data'
- '/usr/share/nltk_data'
- '/usr/local/share/nltk_data'
- '/usr/lib/nltk_data'
- '/usr/local/lib/nltk_data' [...]
我的结论是模块没有正确安装。有人知道如何在OpenShift/Python应用程序中安装nltk资源吗??
PS: portuguese stopwords模块也包含如下错误:
您可以在OpenShift上使用NLTK包。它不能为您工作的原因是因为NLTK包默认期望语料库在用户主目录中。在OpenShift中,您不能写入用户home,但必须使用$OPENSHIFT_DATA_DIR来存储数据。要解决这个问题,请执行以下操作:
- 创建一个名为NLTK_DATA的环境变量,值为$OPENSHIFT_DATA_DIR。创建环境变量后,使用rhc app-restart命令重启应用程序。
- 使用rhc SSH命令SSH到您的应用程序设备
-
使用以下命令激活虚拟环境并下载语料库。
。美元VIRTUAL_ENV/bin/激活
curl https://raw.github.com/sloria/TextBlob/master/download_corpora.py | python
我写了一篇关于Textblob包的博客,下面使用NLTK包https://www.openshift.com/blogs/day-9-textblob-finding-sentiments-in-text