You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决Rake中的stopwords资源缺失错误及相关问题

解决方案:NLTK stopwords资源缺失导致LookupError

问题描述

使用rake_nltk库初始化Rake对象时触发LookupError,提示Resource stopwords not found,核心原因是缺少NLTK的停用词资源。报错详情如下:

"D:\Python files\venv\Scripts\python.exe" "D:/Python files/main.py"
Traceback (most recent call last):
File "D:\Python files\venv\lib\site-packages\nltk\corpus\util.py", line 84, in __load
root = nltk.data.find(f"{self.subdir}/{zip_name}")
File "D:\Python files\venv\lib\site-packages\nltk\data.py", line 583, in find
raise LookupError(resource_not_found)
LookupError:

Resource stopwords not found.
Please use the NLTK Downloader to obtain the resource:

import nltk
nltk.download('stopwords')

Attempted to load corpora/stopwords.zip/stopwords/

Searched in:
- 'C:\Users\Harsh/nltk_data'
- 'D:\Python files\venv\nltk_data'
- 'D:\Python files\venv\share\nltk_data'
- 'D:\Python files\venv\lib\nltk_data'
- 'C:\Users\Harsh\AppData\Roaming\nltk_data'
- 'C:\nltk_data'
- 'D:\nltk_data'
- 'E:\nltk_data'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "D:\Python files\main.py", line 16, in 
r = Rake()
File "D:\Python files\venv\lib\site-packages\rake_nltk\rake.py", line 84, in __init__
self.stopwords = set(nltk.corpus.stopwords.words(language))
File "D:\Python files\venv\lib\site-packages\nltk\corpus\util.py", line 121, in __getattr__
self.__load()
File "D:\Python files\venv\lib\site-packages\nltk\corpus\util.py", line 86, in __load
raise e
File "D:\Python files\venv\lib\site-packages\nltk\corpus\util.py", line 81, in __load
root = nltk.data.find(f"{self.subdir}/{self.__name}")
File "D:\Python files\venv\lib\site-packages\nltk\data.py", line 583, in find
raise LookupError(resource_not_found)
LookupError:

Resource stopwords not found.
Please use the NLTK Downloader to obtain the resource:

import nltk
nltk.download('stopwords')

Attempted to load corpora/stopwords

Searched in:
- 'C:\Users\Harsh/nltk_data'
- 'D:\Python files\venv\nltk_data'
- 'D:\Python files\venv\share\nltk_data'
- 'D:\Python files\venv\lib\nltk_data'
- 'C:\Users\Harsh\AppData\Roaming\nltk_data'
- 'C:\nltk_data'
- 'D:\nltk_data'
- 'E:\nltk_data'

Process finished with exit code 1

有效解决方法

方法1:代码内自动下载

在初始化Rake对象的代码前添加以下代码,自动下载stopwords资源:

import nltk
nltk.download('stopwords')

执行后资源会被下载到NLTK默认搜索路径,后续运行代码即可正常调用。

方法2:指定下载路径(解决权限/路径识别问题)

如果默认路径无法写入或识别,可手动指定下载到项目目录:

  1. 先下载资源到指定目录:
import nltk
nltk.download('stopwords', download_dir='./nltk_data')
  1. 在代码开头添加路径配置:
import nltk
nltk.data.path.append('./nltk_data')

这样NLTK会优先从指定的项目目录中查找资源。

方法3:GUI手动下载

运行以下代码打开NLTK下载器界面,手动选择stopwords完成下载:

import nltk
nltk.download()

在弹出窗口中找到stopwords勾选,点击Download即可完成资源安装。

内容的提问来源于stack exchange,提问作者Harsh Verma

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 01:34:56