使用NLTK资源的Python/Openshift应用程序



我在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来存储数据。要解决这个问题,请执行以下操作:

  1. 创建一个名为NLTK_DATA的环境变量,值为$OPENSHIFT_DATA_DIR。创建环境变量后,使用rhc app-restart命令重启应用程序。
  2. 使用rhc SSH命令SSH到您的应用程序设备
  3. 使用以下命令激活虚拟环境并下载语料库。

    。美元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

最新更新