ImportError [E048]无法从spacy.lang导入语言

时间:2018-12-07 20:39:19

标签: python python-3.x spacy named-entity-recognition

我正在尝试为Spacy库运行'en',这需要进行大量调试才能安装,最后将其导入python库中。下一步要加载“ en”,我花了很多时间调试为什么我无法加载文件并且无法在任何类型的方案中加载。

# in Python: These libraries are getting loaded. 
import spacy 
import ujson
import en_core_web_sm

在命令行/ linux中:我使用下面的命令来下载'en'以获得空档。

python -m spacy download en

我收到了此成功消息

"You can now load the model via spacy.load('en')."

然后我尝试运行它,并在Python中得到此错误。

nlp = spacy.load('en')

doc = nlp(u'这是一个句子。')

错误:ImportError: [E048] Can't import language en from spacy.lang.

我尝试了什么?:

1)下载jar文件插入到以下路径:spacy.util.get_data_path()

2)加载像spacy.load('C:/path_to/Anaconda3/lib/site-packages/spacy/data/en')这样的文件,包括在空格中传递的jar文件名。

3)在运行脚本之前运行java -jar en_core_web_sm-2.0.0a7.tarjava -jar en-1.1.0.tar。它失败。

任何想法如何解决这个问题?非常感谢!

2 个答案:

答案 0 :(得分:1)

如果您已升级到最新的 spacy 3.X 版本并遇到此错误 - 最好卸载以前的版本并重新安装最新版本。

答案 1 :(得分:0)

我遇到了相同的错误,请尝试使用

python -m spacy download en_core_web_sm

代替

python -m spacy download en

实际上,“ en”包只是统计模型“ en_core_web_sm”的快捷方式。