No module named en 的解决办法spacy

No module named 'en'

nlp项目出现这个错误,如果是spacy\util.py出的问题,表示找不到英文的模块.

官方的解决办法是在控制台输入以下命令:

python -m spacy download en_core_web_sm

这个我试了下一直出现连接错误,以下是解决办法

1. 先确认自己要用的spacy版本,

python -m spacy info

因为我这个项目要求用2.1所以

那 en_core_web_sm也要2.1版本的

 

 

2. 到github上面下载en_core_web_sm的gz档案(只有gz)
https://github.com/explosion/spacy-models/releases 要next好几页才会找到

en_core_web_sm-2.1.0.tar.gz (10.5MB)

相关的有en_core_web_md-2.1.0.tar.gz(91MB), en_core_web_lg-2.1.0.tar.gz(788MB)

建议一并下载下来

https://github.com/explosion/spacy-models/releases?after=nl_core_news_sm-2.1.0

 

3. 下载后解压缩,在所属目录打开控制台(在地址栏输入%comspec%) 或 打开power shell

输入Python.exe setup.py install

成功后, (例如我安装的是2.1版本的) 最后显示
Finished processing dependencies for en-core-web-sm==2.1.0

4. 理论上这样就可以了, 但是我还是报错,所以修改项目代码
原代码 self.nlp = spacy.load('en')
修改为
import en_core_web_md

self.nlp=en_core_web_md.load()

完成后不再报错了

测试代码:

import spacy
import en_core_web_md

nlp = en_core_web_md.load()
doc = nlp(u'This is a sentence.')

print(doc)

 

 

 

 

 

 

 

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值