使用spacy导入错误:"没有名为en"的模块

时间:2016-01-17 18:32:54

标签: python spacy

我在使用Python spaCy library时遇到了问题。它似乎安装正确,但在

from spacy.en import English

我收到以下导入错误:

Traceback (most recent call last):
  File "spacy.py", line 1, in <module>
    from spacy.en import English
  File "/home/user/CmdData/spacy.py", line 1, in <module>
    from spacy.en import English
ImportError: No module named en

我对Python不是很熟悉,但这是我在网上看到的标准导入,并且安装了该库:

$ pip list | grep spacy
spacy (0.99)

修改 我测试了重命名文件,但这不是问题。这样做时也会出现同样的错误:

$ python -m spacy.en.download --force all
/usr/bin/python: No module named en

(该命令应该下载一些模型)

6 个答案:

答案 0 :(得分:10)

您遇到此错误,因为您将自己的文件命名为spacy.py。重命名您的文件,一切都应该有效。

答案 1 :(得分:7)

对于Windows,请使用管理员权限打开cmd。然后,

python -m spacy download en 

您应该看到shell提示符。

您现在可以通过spacy.load加载模型(&#39; en&#39;)

答案 2 :(得分:4)

/usr/bin/python处的Python版本可能不是安装了spacy的版本。如果是这样,请导航到您的正常目录&#39; Python版本在运行之前

python -m spacy.en.download

应该解决问题。 (例如,我使用Anaconda安装了spacy,并且必须先导航到C:\Anaconda2\。)

答案 3 :(得分:4)

我遇到了同样的问题,问题是模块所在的文件夹&#39; en&#39;存储(spacy / lang / en)。

打字:

来自spacy.lang.en导入英文

解决了这个问题。

This post有助于搞清楚这一点。

答案 4 :(得分:1)

这有效!

import spacy
import en_core_web_sm
nlp = en_core_web_sm.load()

答案 5 :(得分:0)

SpaCy会根据您选择的语言提供多种模型(甚至包含多语言模型),因此您可以查看this link来更好地了解哪种可能适合您的需求。

您还可以在此处找到正确的安装命令。例如,对于英语的小型版本模型:

  

python -m spacy下载en_core_web_sm

希望有帮助!