OSError: [E050] Can't find model 'en'
OSError: [E050] Can't find model 'en'
我正在尝试使用 python- https://github.com/DerwenAI/pytextrank/blob/master/example.ipynb 的这个 pytextrank 库
但我无法解决此错误,早些时候我遇到了无法找到 ip.json 的错误,但随后得到解决
import pytextrank
import sys
path_stage0="data/ip.json"
path_stage1="o1.json"
with open(path_stage1,'w') as f:
for graf in pytextrank.parse_doc(pytextrank.json_iter(path_stage0)):
f.write("%s\n" % pytextrank.pretty_print(graf._asdict()))
print(pytextrank.pretty_print(graf))
OSError Traceback (most recent call last)
<ipython-input-12-a20b437ea0f1> in <module>
6
7 with open(path_stage1,'w') as f:
----> 8 for graf in pytextrank.parse_doc(pytextrank.json_iter(path_stage0)):
9 f.write("%s\n" % pytextrank.pretty_print(graf._asdict()))
10 print(pytextrank.pretty_print(graf))
~\Anaconda3\lib\site-packages\pytextrank\pytextrank.py in parse_doc(json_iter)
259 print("graf_text:", graf_text)
260
--> 261 grafs, new_base_idx = parse_graf(meta["id"], graf_text, base_idx)
262 base_idx = new_base_idx
263
~\Anaconda3\lib\site-packages\pytextrank\pytextrank.py in parse_graf(doc_id, graf_text, base_idx, spacy_nlp)
185 if not spacy_nlp:
186 if not SPACY_NLP:
--> 187 SPACY_NLP = spacy.load("en")
188
189 spacy_nlp = SPACY_NLP
~\Anaconda3\lib\site-packages\spacy\__init__.py in load(name, **overrides)
25 if depr_path not in (True, False, None):
26 deprecation_warning(Warnings.W001.format(path=depr_path))
---> 27 return util.load_model(name, **overrides)
28
29
~\Anaconda3\lib\site-packages\spacy\util.py in load_model(name, **overrides)
137 elif hasattr(name, "exists"): # Path or Path-like to model data
138 return load_model_from_path(name, **overrides)
--> 139 raise IOError(Errors.E050.format(name=name))
140
141
OSError: [E050] Can't find model 'en'. It doesn't seem to be a shortcut link, a Python package or a valid path to a data directory.
使用 spacy 时,我们必须使用
下载模型
python -m spacy download en_core_web_sm
如果您已经这样做,请确保您已正确分配快捷方式 link。意思是 simlink 在 'en' 和 'en_core_web_sm'
之间
当我直接使用 spacy
nlp = spacy.load("en_core_web_sm")
模型名称已更改,因此需要下载 en_core_web_sm
或其他模型。该问题已在 v1.2.1 版本中解决,该版本更新为 spaCy 2.x.
对我来说,安装 en
包解决了这个问题:
python -m spacy download en
我收到以下错误:
OSError: [E050] Can't find model 'en_core_web_sm'. It doesn't seem to be a shortcut link, a Python package or a valid path to a data directory.
解决了笔记本上的错误:
!python -m spacy download en_core_web_md
您可以根据需要下载软件包,例如:
!python -m spacy download en_core_web_sm'
或
!python -m spacy download en_core_web_lg
尝试使用以下命令:
spacy.cli.download("en")
nlp = spacy.load('en_core_web_sm')
我解决问题如下
问题:我发出了以下命令:
pip 安装 spacy
python -m spacy 下载 en_core_web_lg
然后在python控制台中,当我使用spacy.load("en_core_web_lg")时,我收到以下错误:
“找不到模型 'en_core_web_lg'。它似乎不是快捷方式 link、Python 包或数据目录的有效路径。”
解决方案:
- 首先,发出 'which python' 命令找到您的程序使用的 python 安装。 (输出示例:.../venv/bin/python)
- lib文件夹内(与'bin'文件夹同级),应该有一个'site-packages/spacy'文件夹。转到 'spacy/data' 文件夹。在 'site-packages 中,当您下载模型时会创建一个文件夹(例如 en_core_web_lg 或 en_core_web_sm)。为下载的模型文件夹创建符号link,如下所示:
ln -s LOCATION_TO_MODEL THE_MODEL_NAME_YOU_WANT_TO_USE
(示例:ln -s .../venv/lib/python3.5/site-packages/en_core_web_lg
en_core_web_lg en_core_web_lg)
- 已创建名称为 'en_core_web_lg' 的符号 link。
- spacy.load("en_core_web_lg") 命令现在有效。作为参数传递的名称现在指向模型的正确位置
有关符号 link 的更多信息,请参见此处:https://askubuntu.com/questions/56339/how-to-create-a-soft-or-symbolic-link
我正在尝试使用 python- https://github.com/DerwenAI/pytextrank/blob/master/example.ipynb 的这个 pytextrank 库 但我无法解决此错误,早些时候我遇到了无法找到 ip.json 的错误,但随后得到解决
import pytextrank
import sys
path_stage0="data/ip.json"
path_stage1="o1.json"
with open(path_stage1,'w') as f:
for graf in pytextrank.parse_doc(pytextrank.json_iter(path_stage0)):
f.write("%s\n" % pytextrank.pretty_print(graf._asdict()))
print(pytextrank.pretty_print(graf))
OSError Traceback (most recent call last)
<ipython-input-12-a20b437ea0f1> in <module>
6
7 with open(path_stage1,'w') as f:
----> 8 for graf in pytextrank.parse_doc(pytextrank.json_iter(path_stage0)):
9 f.write("%s\n" % pytextrank.pretty_print(graf._asdict()))
10 print(pytextrank.pretty_print(graf))
~\Anaconda3\lib\site-packages\pytextrank\pytextrank.py in parse_doc(json_iter)
259 print("graf_text:", graf_text)
260
--> 261 grafs, new_base_idx = parse_graf(meta["id"], graf_text, base_idx)
262 base_idx = new_base_idx
263
~\Anaconda3\lib\site-packages\pytextrank\pytextrank.py in parse_graf(doc_id, graf_text, base_idx, spacy_nlp)
185 if not spacy_nlp:
186 if not SPACY_NLP:
--> 187 SPACY_NLP = spacy.load("en")
188
189 spacy_nlp = SPACY_NLP
~\Anaconda3\lib\site-packages\spacy\__init__.py in load(name, **overrides)
25 if depr_path not in (True, False, None):
26 deprecation_warning(Warnings.W001.format(path=depr_path))
---> 27 return util.load_model(name, **overrides)
28
29
~\Anaconda3\lib\site-packages\spacy\util.py in load_model(name, **overrides)
137 elif hasattr(name, "exists"): # Path or Path-like to model data
138 return load_model_from_path(name, **overrides)
--> 139 raise IOError(Errors.E050.format(name=name))
140
141
OSError: [E050] Can't find model 'en'. It doesn't seem to be a shortcut link, a Python package or a valid path to a data directory.
使用 spacy 时,我们必须使用
下载模型python -m spacy download en_core_web_sm
如果您已经这样做,请确保您已正确分配快捷方式 link。意思是 simlink 在 'en' 和 'en_core_web_sm'
之间当我直接使用 spacy
nlp = spacy.load("en_core_web_sm")
模型名称已更改,因此需要下载 en_core_web_sm
或其他模型。该问题已在 v1.2.1 版本中解决,该版本更新为 spaCy 2.x.
对我来说,安装 en
包解决了这个问题:
python -m spacy download en
我收到以下错误:
OSError: [E050] Can't find model 'en_core_web_sm'. It doesn't seem to be a shortcut link, a Python package or a valid path to a data directory.
解决了笔记本上的错误:
!python -m spacy download en_core_web_md
您可以根据需要下载软件包,例如:
!python -m spacy download en_core_web_sm'
或
!python -m spacy download en_core_web_lg
尝试使用以下命令:
spacy.cli.download("en")
nlp = spacy.load('en_core_web_sm')
我解决问题如下
问题:我发出了以下命令:
pip 安装 spacy
python -m spacy 下载 en_core_web_lg
然后在python控制台中,当我使用spacy.load("en_core_web_lg")时,我收到以下错误: “找不到模型 'en_core_web_lg'。它似乎不是快捷方式 link、Python 包或数据目录的有效路径。”
解决方案:
- 首先,发出 'which python' 命令找到您的程序使用的 python 安装。 (输出示例:.../venv/bin/python)
- lib文件夹内(与'bin'文件夹同级),应该有一个'site-packages/spacy'文件夹。转到 'spacy/data' 文件夹。在 'site-packages 中,当您下载模型时会创建一个文件夹(例如 en_core_web_lg 或 en_core_web_sm)。为下载的模型文件夹创建符号link,如下所示:
ln -s LOCATION_TO_MODEL THE_MODEL_NAME_YOU_WANT_TO_USE
(示例:ln -s .../venv/lib/python3.5/site-packages/en_core_web_lg
en_core_web_lg en_core_web_lg) - 已创建名称为 'en_core_web_lg' 的符号 link。
- spacy.load("en_core_web_lg") 命令现在有效。作为参数传递的名称现在指向模型的正确位置
有关符号 link 的更多信息,请参见此处:https://askubuntu.com/questions/56339/how-to-create-a-soft-or-symbolic-link