其中一个文件具有以下标题:
import nltk, json, operator
from nltk.corpus import stopwords
from nltk.tokenize import RegexpTokenizer
当调用带有停用词代码的网页时,会出现以下错误:
LookupError:
**********************************************************************
Resource 'corpora/stopwords' not found. Please use the NLTK
Downloader to obtain the resource: >>> nltk.download()
Searched in:
- '/app/nltk_data'
- '/usr/share/nltk_data'
- '/usr/local/share/nltk_data'
- '/usr/lib/nltk_data'
- '/usr/local/lib/nltk_data'
**********************************************************************
所使用的确切代码:
#remove punctuation
toker = RegexpTokenizer(r'((?<=[^\w\s])\w(?=[^\w\s])|(\W))+', gaps=True)
data = toker.tokenize(data)
#remove stop words and digits
stopword = stopwords.words('english')
data = [w for w in data if w not in stopword and not w.isdigit()]
当注释掉stopword = stopwords.words('english')
时,Heroku上的webapp不会产生查找错误。
在我的本地计算机上,该代码运行顺畅。我已经使用所需的库在我的计算机上安装了它们。
pip install requirements.txt
Heroku提供的虚拟环境在我电脑测试代码时运行正常。
我也尝试了两个不同来源提供的NLTK,但仍然出现“LookupError”错误。我使用的两个来源分别是:
http://pypi.python.org/packages/source/n/nltk/nltk-2.0.1rc4.zip
https://github.com/nltk/nltk.git