我无法在jupyter笔记本中加载英文模型,代码如下-
!pip install spacy
import spacy
spacy.load('en')
错误消息:
OSError Traceback(最近的调用最后)在()---->1空间负载(‘en’)
C: \ProgramData\Anaconda3\lib\site-packages\spacy_init_.py加载(名称,**覆盖)19如果depr_path不在(True、False、None)中:20 deposition_warning(Warnings.W001.format(路径=depr_path))--->21返回util.load_model(名称,**覆盖)2223
C: 中的\ProgramData\Anaconda3\lib\site packages\spacy\util.pyload_model(名称,**覆盖)117 elif hasattr(name,'exist'):#类似于模型数据的路径118返回load_model_from_path(名称,**覆盖)-->119引发IOError(Errors.E050.format(name=name))120121
O错误:[E050]找不到模型'en'。这似乎不是快捷链接、Python包或数据目录的有效路径。
我安装了python版本2.7.15、3.6.7和Anaconda3 5.3.1
我已经下载了带有的spacy软件包
!pip install spacy
和带的英文包
python -m spacy download en
在anaconda提示中
编辑:根据您的评论,您似乎下载了模型,但无法链接。您没有权限执行此操作,请检查此处并将权限授予当前用户。之后下载相同脚本的模型:
python -m spacy download en
请查看此处,这里有对错误的简要描述。
我安装了Spyder和anoconda,这使我可以运行spacy,但只能在Spyder中运行。试试看你能不能从那里跑出来。
更新
尝试使用以下
pip install -U spacy
python -m spacy download en
在你的代码中使用这个:
import spacy
nlp = spacy.load('en')
我遇到了同样的问题。我用的是带窗户的蟒蛇。我通过以下步骤解决了这个问题
以管理员身份运行anaconda提示符或命令提示符,然后运行以下命令。
pip install spacy python -m spacy download en
如果您使用的是windows,可能是您下载了spacy模型,但符号链接失败了。不用担心,您可以手动复制粘贴文件夹以检测它。
-
转到您的python的站点包。
-
请参阅您下载的软件包,在我的案例中,它是en_core_web_sm
-
复制并重命名为/站点包/spacy/data/en-
在安装任何软件包之前以管理员身份运行anaconda提示符可以解决所有问题。通过这种方式,我不必使用pip3或conda双重安装模块。
打开命令提示符或终端并执行以下代码:
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')
希望以上代码适用于所有人:)
我正在构建一个使用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
仅使用此;
导入spacy
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=空间负载('en_core_web_sm')";将根据您的选择自动更改。例如,对于Franch Language(导入spacy后),语法将为;
nlp=spacy.load("fr_core_news_sm")