Spacy:找不到模型 'en_core_web_sm'。它似乎不是 Python 包或数据目录的有效路径
Spacy: Can't find model 'en_core_web_sm'. It doesn't seem to be a Python package or a valid path to a data directory
我正在尝试加载 en_core_web_sm
spaCy 模型,但一直没有成功。
发生的错误如下:
OSError: [E050] Can't find model 'en_core_web_sm'. It doesn't seem to be a Python package or a valid path to a data directory.
我在 Anaconda 虚拟环境中工作。勾选了以下复选框:
- 在安装 spaCy 和英语语言模型之前
conda activate gcp-env
- 在合适的环境下运行
conda install -c conda-forge spacy
- 然后,有运行
python -m spacy download en
,还在合适的环境
- 还尝试将
spacy
添加到 requirements.txt
,并在第一次尝试失败后通过该路径安装依赖项
spacy info
产生这个输出:
spacy info
============================== Info about spaCy ==============================
spaCy version 3.3.0
Location /Users/simonmortensen/opt/anaconda3/envs/gcp-env/lib/python3.10/site-packages/spacy
Platform macOS-11.6.5-x86_64-i386-64bit
Python version 3.10.4
Pipelines en_core_web_sm (3.3.0)
python -m spacy validate
产生这个输出:
================= Installed pipeline packages (spaCy v3.3.0) =================
ℹ spaCy installation:
/Users/simonmortensen/opt/anaconda3/envs/gcp-env/lib/python3.10/site-packages/spacy
NAME SPACY VERSION
en_core_web_sm >=3.3.0.dev0,<3.4.0 3.3.0 ✔
我之前浏览过几篇关于同一主题的 Whosebug 帖子。这些通常都已解决,但我的问题仍然存在。
如有任何建议,我们将不胜感激。提前致谢!
西蒙
编辑:
对于其他上下文,环境中的 pip list
包含
spacy 3.3.0
spacy-legacy 3.0.9
spacy-loggers 1.0.2
和
en-core-web-sm 3.3.0
即便如此,import en_core_web_sm
也不行:
import en_core_web_sm
Traceback (most recent call last):
Input In [65] in <cell line: 1>
import en_core_web_sm
ModuleNotFoundError: No module named 'en_core_web_sm'
我觉得不是走环保的好路子
在终端中执行 which python ,你必须验证正在使用环境路径。
Spyder 是反派。
所有软件包都已正确安装在虚拟环境中,但 Spyder 并未 运行 设置该环境(即使 IDE 是从终端使用 spyder
命令启动的,其中环境实际上已被激活)。
为了使 Spyder 运行 成为正确的环境,您需要在 Spyder 首选项中更改 Python 解释器:
...然后重新启动内核。
我收到一个错误提示我 pip install spyder-kernels==2.1.*
,但是完成后(确保在正确的 venv 上执行),我重新启动了 Spyder,它终于成功了!
查看线程中的讨论:https://github.com/explosion/spaCy/discussions/10895。
我正在尝试加载 en_core_web_sm
spaCy 模型,但一直没有成功。
发生的错误如下:
OSError: [E050] Can't find model 'en_core_web_sm'. It doesn't seem to be a Python package or a valid path to a data directory.
我在 Anaconda 虚拟环境中工作。勾选了以下复选框:
- 在安装 spaCy 和英语语言模型之前
conda activate gcp-env
- 在合适的环境下运行
conda install -c conda-forge spacy
- 然后,有运行
python -m spacy download en
,还在合适的环境 - 还尝试将
spacy
添加到requirements.txt
,并在第一次尝试失败后通过该路径安装依赖项
spacy info
产生这个输出:
spacy info
============================== Info about spaCy ==============================
spaCy version 3.3.0
Location /Users/simonmortensen/opt/anaconda3/envs/gcp-env/lib/python3.10/site-packages/spacy
Platform macOS-11.6.5-x86_64-i386-64bit
Python version 3.10.4
Pipelines en_core_web_sm (3.3.0)
python -m spacy validate
产生这个输出:
================= Installed pipeline packages (spaCy v3.3.0) =================
ℹ spaCy installation:
/Users/simonmortensen/opt/anaconda3/envs/gcp-env/lib/python3.10/site-packages/spacy
NAME SPACY VERSION
en_core_web_sm >=3.3.0.dev0,<3.4.0 3.3.0 ✔
我之前浏览过几篇关于同一主题的 Whosebug 帖子。这些通常都已解决,但我的问题仍然存在。
如有任何建议,我们将不胜感激。提前致谢!
西蒙
编辑:
对于其他上下文,环境中的 pip list
包含
spacy 3.3.0
spacy-legacy 3.0.9
spacy-loggers 1.0.2
和
en-core-web-sm 3.3.0
即便如此,import en_core_web_sm
也不行:
import en_core_web_sm
Traceback (most recent call last):
Input In [65] in <cell line: 1>
import en_core_web_sm
ModuleNotFoundError: No module named 'en_core_web_sm'
我觉得不是走环保的好路子
在终端中执行 which python ,你必须验证正在使用环境路径。
Spyder 是反派。
所有软件包都已正确安装在虚拟环境中,但 Spyder 并未 运行 设置该环境(即使 IDE 是从终端使用 spyder
命令启动的,其中环境实际上已被激活)。
为了使 Spyder 运行 成为正确的环境,您需要在 Spyder 首选项中更改 Python 解释器:
我收到一个错误提示我 pip install spyder-kernels==2.1.*
,但是完成后(确保在正确的 venv 上执行),我重新启动了 Spyder,它终于成功了!
查看线程中的讨论:https://github.com/explosion/spaCy/discussions/10895。