我无法使用以下代码在jupyter笔记本中加载英语模型-
!pip install spacy
import spacy
spacy.load('en')
错误消息:
OSError跟踪(最近的呼叫 最后)在() ----> 1 spacy.load('en')
C:\ ProgramData \ Anaconda3 \ lib \ site-packages \ spacy__init __。py在 负载(名称,**覆盖) 19如果depr_path不在(True,False,None)中: 20 deprecation_warning(Warnings.W001.format(path = depr_path)) ---> 21返回util.load_model(name,** overrides) 22 23
C:\ ProgramData \ Anaconda3 \ lib \ site-packages \ spacy \ util.py在 load_model(name,** overrides) 117 elif hasattr(name,'exists'):#路径或类似路径的模型数据 118 return load_model_from_path(name,** overrides) -> 119提高IOError(Errors.E050.format(name = name)) 120 121
OSError:[E050]找不到型号'en'。这似乎不是一个 快捷方式链接,Python包或数据目录的有效路径。
我已经安装了python版本2.7.15、3.6.7、3.7.1和Anaconda3 5.3.1
我已经在anaconda提示符下下载了带有(!pip install spacy)的spacy软件包和带有(python -m spacy download zh)的英语软件包
答案 0 :(得分:3)
我安装了Spyder和anoconda,这使我可以运行spacy,但只能在Spyder中运行。尝试看一下是否可以从那里运行。
更新
尝试使用以下内容代替
pip install -U spacy
python -m spacy download en
在您的代码中使用它:
import spacy
nlp = spacy.load('en')
答案 1 :(得分:2)
编辑:根据您的评论,似乎您下载了该模型,但无法链接它。您无权执行此操作,请选中here并将权限授予当前用户。在下载具有相同脚本的模型之后:
python -m spacy download en
检查here,有错误的简短说明。
答案 2 :(得分:2)
我有同样的问题。我正在Windows下使用Anaconda。我按照以下步骤解决了这个问题。
以管理员身份运行anaconda提示符或命令提示符,然后运行以下命令。
pip install spacy
python -m spacy download en
答案 3 :(得分:0)
如果您使用的是Windows,则可能是您已经下载了spacy模型,但是符号链接失败。不用担心,您可以手动复制粘贴文件夹以检测到它。
转到python的站点软件包。
查看下载的软件包,对于我来说是 en_core_web_sm
将其复制并重命名为../ site-packages / spacy / data / en
答案 4 :(得分:0)
在安装任何软件包之前,以管理员身份运行anaconda提示可以解决所有问题。这样,我不必使用pip3或conda双重安装模块。
答案 5 :(得分:0)
打开命令提示符或终端并执行以下代码:
pip3 install https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.2.0/en_core_web_sm-2.2.0.tar.gz
在Jupiter笔记本中执行以下代码块。
import spacy
nlp = spacy.load('en_core_web_sm')
希望以上代码适用于所有人:)
答案 6 :(得分:0)
我正在构建一个使用 spacy 的脚本,但是当我在每次配置的 dataproc 集群上部署它时,默认情况下不会下载 spacy 模型。所以我所做的是尝试导入模型,如果没有下载,请下载并加载它。
def load_spacy_model(model_name):
excluded_steps = ["tagger", "parser", "ner", "entitiy_linker",
"entity_ruler", "textcat", "morphologizer",
"attribute_ruler", "senter", "sentencizer",
"token2vec", "transformer"]
try:
spacy_model = spacy.load(model_name, exclude=excluded_steps)
except OSError:
spacy.cli.download(model_name)
spacy_model = spacy.load(model_name, exclude=excluded_steps)
return spacy_model
答案 7 :(得分:0)
只使用这个;
导入空间
nlp = spacy.load("en_core_web_sm")
此处“en_core_web_sm”中的“en”表示“英语”。
对于 Windows Python 安装,你不需要使用这个;
nlp = spacy.load('en') # 删除或评论即可。
如果您转到 SpaCy 文档页面; https://spacy.io/usage/models
当您将语言下拉列表选择更改为其他语言时,语法为; "nlp = spacy.load('en_core_web_sm')" 将根据您的选择自动更改。 例如,对于法语语言(导入 spacy 之后),语法将是;
nlp = spacy.load("fr_core_news_sm")