Spacy nlp = spacy.load("en_core_web_lg")

Viewed 38745

I already have spaCy downloaded, but everytime I try the nlp = spacy.load("en_core_web_lg"), command, I get this error:

OSError: [E050] Can't find model 'en_core_web_lg'. It doesn't seem to be a shortcut link, a Python package or a valid path to a data directory.

I already tried

>>> import spacy
>>> nlp = spacy.load("en_core_web_sm")

and this does not work like it would on my personal computer.

My question is how do I work around this? What directory specifically do I need to drop the spacy en model into on my computer so that it is found?

6 Answers

For a Linux system run the below code in terminal if you would be using a virtual environment else skip first and second command :

python -m venv .env
source .env/bin/activate
pip install -U spacy
python -m spacy download en_core_web_lg

The downloaded language model can be found at :

/usr/local/lib/python3.6/dist-packages/en_core_web_lg -->
/usr/local/lib/python3.6/dist-packages/spacy/data/en_core_web_lg

For more documentation information refer https://spacy.io/usage

Hope it was helpful.

import en_core_web_sm
nlp = en_core_web_sm.load()

If this works, it'd indicate that the problem is related to the way spaCy detects installed packages. If it doesn't work and gives you an ImportError, it means that the Python environment the model was installed in is not the same as your Jupyter environment.

Also, maybe double-check that the model installed correctly? Models are installed as Python packages by running pip in a subprocess. And pip errors can sometimes be a bit subtle and not immediately obvious in the output.

!python -m spacy download en_core_web_lg 

from your Jupyter cell, then:

[Ctrl+M] or `Restart runtime` 

from menu bar on top of Jupyter notebook

Related