问题
I'm having trouble using the Python spaCy library. It seems to be installed correctly but at
from spacy.en import English
I get the following import error:
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
I'm not very familiar with Python but that's the standard import I saw online, and the library is installed:
$ pip list | grep spacy
spacy (0.99)
EDIT I tested renaming the file, but that's not the problem. I also get the same error when doing:
$ python -m spacy.en.download --force all
/usr/bin/python: No module named en
(The command is supposed to download some models)
回答1:
You are facing this error because you named your own file spacy.py. Rename your file, and everything should work.
回答2:
For windows, open cmd with admin right. Then,
python -m spacy download en
You should see the shell prompt stating.
You can now load the model via spacy.load('en')
回答3:
It is possible that the version of Python at /usr/bin/python is not the one that has spacy installed. If so, navigating to the directory where your 'normal' version of Python is before running
python -m spacy.en.download
should fix the problem. (For example, I installed spacy using Anaconda and had to navigate to C:\Anaconda2\ first.)
回答4:
I had the same issue, and the problem was the folder where the module 'en' was stored (spacy/lang/en).
Typing:
from spacy.lang.en import English
fixed the issue.
This post was helpful in figuring this out.
回答5:
SpaCy has various models depending on the language of your choice (even contains a multi-language model), so you can have a look at this link to have a better idea on which might suit your needs.
You could also find the correct installation command here. For example, for small version model for English Language:
python -m spacy download en_core_web_sm
Hope it helps!
来源:https://stackoverflow.com/questions/34842052/import-error-with-spacy-no-module-named-en