【Bugs】解决报错[nltk_data] Error loading stopwords: <urlopen error [Errno -3]
一、报错场景
在公共服务器上复现论文代码时报错,代码如下
from nltk.corpus import stopwords
stop_words = stopwords.words('english')
报错:
[nltk_data] Error loading stopwords: <urlopen error [Errno -3]
[nltk_data] Temporary failure in name resolution>
原因可能是公共服务器上没有nltk的数据联网下载权限?(瞎猜的,没细找[Errno -3]
的报错信息)
二、解决方法
自行在线下下载好stopwords
import nltk
nltk.download('stopwords')
得到如下文件
上传至线上服务器后将源代码尝试将stopwords加入路径usr/.local/lib/python3.7/site-packages/nltk/corpus/
仍报错,百思不得其解,后采用
stopwords_vocab = [line.strip() for line in open('stopwords/english', 'r', encoding='utf-8').readlines()]
强行读取以解决bugs。
若有更好方法欢迎交流!