Python 解决报错:OSError: [E050] Can‘t find model ‘en_core_web_md‘. It doesn‘t seem to b

这篇具有很好参考价值的文章主要介绍了Python 解决报错:OSError: [E050] Can‘t find model ‘en_core_web_md‘. It doesn‘t seem to b。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、OSError: [E050] Can't find model 'en_core_web_md'.It doesn't seem to be a Python package or a valid path to a data directory.


一、OSError: [E050] Can't find model 'en_core_web_md'.It doesn't seem to be a Python package or a valid path to a data directory.

场景复现:在实现文本摘要生成,所以需要先下载语言库一类的包,用到了spacy库和en_core_web_sm,

在pycharm中运行代码,

spacy_en = spacy.load('en_core_web_md')

但是报错了:

OSError: [E050] Can't find model 'en_core_web_md'. It doesn't seem to be a Python package or a valid path to a data directory.

Python 解决报错:OSError: [E050] Can‘t find model ‘en_core_web_md‘. It doesn‘t seem to b

原因这个错误的原因是环境中找不到en_core_web_sm这个包。导致这个错误的原因有两个:

  1. 没有安装这个包;
  2. 安装了,但是还是提示找不到;

解决方法:本文针对第1种情况,

(1)找到Python虚拟环境或conda环境中的torchtext第三方库下载位置,

D:\my\python-pycharm\python-envs\venv-deep\Lib\site-packages\torchtext\legacy\data

打开torchtext\legacy\data,找到file.py文件,

Python 解决报错:OSError: [E050] Can‘t find model ‘en_core_web_md‘. It doesn‘t seem to b

将其中函数参数tokenizer_language的值从'en'改为'en_core_web_sm'(共有两处)

Python 解决报错:OSError: [E050] Can‘t find model ‘en_core_web_md‘. It doesn‘t seem to b

Python 解决报错:OSError: [E050] Can‘t find model ‘en_core_web_md‘. It doesn‘t seem to b

修改完成,保存文件之后退出。

(2)可以通过以下命令来在pycharm的终端下载安装'en_core_web_sm',但是很难成功

python -m spacy download en_core_web_sm

Python 解决报错:OSError: [E050] Can‘t find model ‘en_core_web_md‘. It doesn‘t seem to b 

或者,直接从github下载,也可以访问其github仓库下载其他版本。
en_core_web_sm-3.0.0下载

安装命令为:

pip install en_core_web_sm-3.0.0.tar.gz 

下载完成之后的效果图:

Python 解决报错:OSError: [E050] Can‘t find model ‘en_core_web_md‘. It doesn‘t seem to b

(3)重新再pycharm运行代码,

但是为什么还是报错?

我又查看了我安装的spacy与en_core_web_sm的版本是否有冲突,

 【注】可以是任意版本,但必须符合en_core_web_sm对于spacy的版本要求(见后面)

en_core_web_sm · Releases · explosion/spacy-models · GitHub

Python 解决报错:OSError: [E050] Can‘t find model ‘en_core_web_md‘. It doesn‘t seem to b

  Python 解决报错:OSError: [E050] Can‘t find model ‘en_core_web_md‘. It doesn‘t seem to b

Python 解决报错:OSError: [E050] Can‘t find model ‘en_core_web_md‘. It doesn‘t seem to b

发现没有冲突。

(6)嗷嗷,突然意识到一件事。。。

Python 解决报错:OSError: [E050] Can‘t find model ‘en_core_web_md‘. It doesn‘t seem to b

要使用这行代码代替之前的,

spacy_en = spacy.load('en_core_web_sm')

代替
spacy_en = spacy.load('en_core_web_md')

重新执行代码,

Python 解决报错:OSError: [E050] Can‘t find model ‘en_core_web_md‘. It doesn‘t seem to b

ok,问题解决了,没有再报错了。文章来源地址https://www.toymoban.com/news/detail-423769.html

到了这里,关于Python 解决报错:OSError: [E050] Can‘t find model ‘en_core_web_md‘. It doesn‘t seem to b的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包