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

时间:2014-06-17 12:25:14

标签: nltk 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:葡萄牙语停用词模块也包含这样的错误。

1 个答案:

答案 0 :(得分:2)

您可以在OpenShift上使用NLTK包。它不适合你的原因是因为默认情况下NLTK包期望用户主目录中的语料库。在OpenShift中,您无法写入用户主页,但必须使用$ OPENSHIFT_DATA_DIR来存储数据。要解决这个问题,请执行以下操作:

  1. 创建一个名为NLTK_DATA的环境变量,其值为$ OPENSHIFT_DATA_DIR。创建环境变量后,使用rhc app-restart命令重新启动应用程序。
  2. 使用rhc ssh命令将SSH连接到您的应用程序设备
  3. 激活虚拟环境并使用下面显示的逗号下载语料库。

    。 $ VIRTUAL_ENV /斌/激活
    卷曲https://raw.github.com/sloria/TextBlob/master/download_corpora.py |蟒

  4. 我在Textblob包上写了一个博客,下面使用了NLTK包https://www.openshift.com/blogs/day-9-textblob-finding-sentiments-in-text