PyCharm运行spaCy报OSError[E050]找不到en_core_web_sm模型如何解决?
问题根因
报错本质是spaCy安装路径和模型安装路径不匹配。你在系统终端安装时使用的是全局Python 3.8,模型被安装到/usr/local/lib/python3.8/dist-packages目录下,但PyCharm当前配置的Python 3.8解释器优先读取用户目录下的~/.local/lib/python3.8/site-packages路径下的spaCy库,两个路径的包互相独立,因此找不到对应安装的模型。
可行解决方案
方案1:在PyCharm对应解释器环境下重新安装模型
- 打开PyCharm项目内置的终端,确认当前终端激活的是项目使用的Python解释器,执行以下命令查看Python路径:
which python3.8 - 输出路径和PyCharm配置的解释器路径一致的情况下,直接执行安装命令:
python3.8 -m spacy download en_core_web_sm - 安装完成后运行代码即可正常加载模型。
方案2:指定模型绝对路径加载
无需重复安装模型,直接指定系统路径下已安装的模型位置加载即可:
- 在系统终端执行命令查询模型实际安装路径:
find /usr/local/lib/python3.8/dist-packages -name "en_core_web_sm" -type d - 拿到路径后(示例路径为
/usr/local/lib/python3.8/dist-packages/en_core_web_sm),修改代码为:
import spacy nlp = spacy.load("/usr/local/lib/python3.8/dist-packages/en_core_web_sm")
方案3:统一Python解释器路径
打开PyCharm的项目设置,找到「Python解释器」选项,将当前项目的解释器切换为系统全局的/usr/bin/python3.8,切换完成后即可直接读取系统路径下安装的spaCy和对应模型,无需额外操作。
内容的提问来源于stack exchange,提问作者ddinfiwis
相关产品推荐
相关产品推荐

