当前位置: 首页 > 面试题库 >

ImportError:没有名为“ spacy.en”的模块

干稳
2023-03-14
问题内容

我正在使用Spacy的代码库。我使用以下方式安装了spacy:

sudo pip3 install spacy

接着

sudo python3 -m spacy download en

在最后一条命令的结尾,我收到一条消息

    Linking successful
/home/rayabhik/.local/lib/python3.5/site-packages/en_core_web_sm -->
/home/rayabhik/.local/lib/python3.5/site-packages/spacy/data/en

You can now load the model via spacy.load('en')

现在,当我尝试运行代码时,就行了:

    from spacy.en import English

它给了我以下错误:

ImportError: No module named 'spacy.en'

我看过Stackexchange,最接近的是:spacy的导入错误:“没有名为en的模块” ,这不能解决我的问题。

任何帮助,将不胜感激。谢谢。

编辑:我可能通过执行以下操作解决了此问题:

 Python 3.5.2 (default, Sep 14 2017, 22:51:06) 
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import spacy
>>> spacy.load('en')
<spacy.lang.en.English object at 0x7ff414e1e0b8>

然后使用:

from spacy.lang.en import English

如果还有其他答案,我仍会保持开放状态。


问题答案:

是的,我可以确认您的解决方案是正确的。您从pip下载的spaCy的版本为v2.0,其中包括许多新功能,但对API进行了一些更改。其中之一是,所有语言数据都已移至子模块,spacy.lang以保持内容整洁和井井有条。因此spacy.en,您现在无需从使用导入spacy.lang.en

- from spacy.en import English
+ from spacy.lang.en import English

但是,还值得一提的是,您在运行时下载spacy download en的内容与并不相同spacy.lang.en。spaCy附带的语言数据包括静态数据,例如标记化规则,停用词或词形化表。en您可以下载的软件包是统计模型的快捷方式en_core_web_sm。它包括语言数据以及二进制权重,以使spaCy可以预测词性标签,依赖项和命名实体。

en我实际上不建议下载,而是建议使用完整的模型名称,这样可以更清楚地了解发生了什么:

python -m spacy download en_core_web_sm



nlp = spacy.load("en_core_web_sm")

致电时spacy.load,spaCy执行以下操作:

  1. 查找已安装的名称为"en_core_web_sm"(包装或快捷方式链接)的模型。
  2. 阅读它meta.json,并检查它的使用(在这种情况下,语言spacy.lang.en),它的处理管道应该是什么样子(在这种情况下,taggerparserner)。
  3. 初始化语言类并向其中添加管道。
  4. 从模型数据中加载二进制权重,以便管道组件(例如标记器,解析器或实体识别器)可以进行预测。

有关更多详细信息,请参阅文档中的此部分。



 类似资料:
  • 问题内容: 我已经使用命令安装了redis,但是当我运行Python程序时收到此错误: 知道发生了什么问题还是我也应该安装其他软件包?我正在使用Ubuntu 13.04,并且具有Python 2.7。 问题答案: 要安装redis-py,只需: 或者(您确实应该使用点子): 或从来源: 入门 详细信息:https : //pypi.python.org/pypi/redis

  • 问题内容: 由于某种原因,我不能使用or模块。在python shell中运行以下命令后 要么 我得到这个错误 ModuleNotFoundError:没有名为“ Tkinter”的模块 要么 ModuleNotFoundError:没有名为“ tkinter”的模块 可能是什么原因,我们如何解决呢? 问题答案: 您可能需要使用以下一种(或类似的方式)安装它: 您也可以针对python 3.7提及

  • 问题内容: 我在 Google App Engine的Python 使用Google Translate API时遇到此错误,但是我不知道如何解决, 我将尝试 设置指示Google App Engine SDK的环境 ,然后再次上传到Google Apps Engine, 始终会收到错误消息 , 错误:服务器错误 服务器遇到错误,无法完成您的请求。如果问题仍然存在,请报告您的问题并提及此错误消息以

  • 问题内容: 我指的是以下教程来为我的Web应用程序创建登录页面。 http://code.tutsplus.com/tutorials/intro-to-flask-signing-in-and-out--net-29982 我的数据库有问题。我正在 当我执行 我已经尝试了所有可能的方法来安装python mysql,这是本教程中提到的一种,easy_install,sudo apt-get in

  • 问题内容: 我是这个Python世界的新手(仅1周)。我尝试安装django-mssql,但是当我尝试导入库(使用)时,出现以下错误消息: 我试图寻找那个图书馆而没有成功。 你们能指出我正确的方向吗? 问题答案: 您缺少包裹。它带有ActivePython,但您可以将它作为pywin32的一部分单独在GitHub(以前在SourceForge上)上获得。 您也可以简单地使用:

  • 问题内容: 我目前正在练习matplotlib。这是我练习的第一个示例。 当我使用运行脚本时,它可以正确显示绘图。但是,我自己运行它,它引发了以下问题: python是否在不同位置查找matplotlib? 环境是: numpy,scipy,matplotlib已安装: 问题答案: 您的计算机上安装了两个python,一个是Mac OSX随附的标准python,第二个是您使用端口安装的python