PyCharm找不到Spacy模型'en'

wan*_*ing 3 python nlp python-2.7 spacy

我正在尝试从PyCharm中的SpaCy加载NLP模型'en',并且我正在使用Python 2.7。
我加载“ en”模型的代码是 nlp = spacy.load('en', disable=['parser', 'ner'])
但是,我收到以下错误
IOError: [E050] Can't find model 'en'. It doesn't seem to be a shortcut link, a Python package or a valid path to a data directory.
,然后我意识到我没有下载模型,所以我使用了PyCharm提供的终端来下载模型,python -m spacy download en

这是以下输出:

已经满足的要求:来自https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.0.0/en_core_web_sm-2.0.0的 en_core_web_sm == 2.0.0 。c:\ python27 \ lib \ site-packages中的tar.gz#egg = en_core_web_sm == 2.0.0
您正在使用pip版本9.0.1,但是可以使用版本18.0。
您应该考虑通过“ python -m pip install --upgrade pip”命令进行升级。
您没有足够的权限执行此操作。

链接成功的C:\ Python27 \ lib \ site-packages \ en_core_web_sm-> C:\ Python27 \ lib \ site-packages \ spacy \ data \ en

您现在可以通过spacy.load('en')加载模型

所以我很困惑……我想我无法下载'en'模型,因为我没有足够的权限进行下载,但是链接成功了吗?
看到此消息后,我尝试再次运行我的Python文件(因为终端指出链接成功),但最初的错误再次弹出。

有人曾经遇到过此问题,还是知道如何解决此错误?如何在PyCharm终端中“升级”我的特权,以便能够下载模型?

Eli*_*ach 6

我不知道它是否仍然有用,但我也遇到了。该模块在Jupyter Notebook上加载得很好,但在我的PyCharm中却加载不了。要解决该问题,请转到您在PyCharm中的项目的解释器(使用ctrl + alt + s)。查看正在使用的解释器的完整路径。然后以以下方式在终端上使用它:

FULL_PATH_TO_PYTHON_INTERPRTER -m spacy download en
Run Code Online (Sandbox Code Playgroud)

现在应该可以从您的PyCharm工作了。


Adr*_*uri 5

Spacy 解释了下载模型的几种方法: https ://spacy.io/usage/models#download

使用python -m

# Download best-matching version of specific model for your spaCy installation
python -m spacy download en_core_web_sm

# Out-of-the-box: download best-matching default model and create shortcut link
python -m spacy download en

# Download exact model version (doesn't create shortcut link)
python -m spacy download en_core_web_sm-2.2.0 --direct
Run Code Online (Sandbox Code Playgroud)

使用pip

# With external URL
pip install https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.2.0/en_core_web_sm-2.2.0.tar.gz

# With local file
pip install /Users/you/en_core_web_sm-2.2.0.tar.gz
Run Code Online (Sandbox Code Playgroud)

使用手动下载

https://spacy.io/usage/models#download-manual

现在如何使用 PyCharm 下载它?

我尝试通过在虚拟环境(venv)中安装 URL 包Project Interpreter来做到这一点:

https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.2.5/en_core_web_sm-2.2.5.tar.gz

但是Pycharm直接安装tar失败。


解决方案: 最后我只需在 中添加 tar 的 github URL requirements.txt,然后 PyCharm 就会为您安装它。

requirements.txt中添加以下内容

# spacy
spacy
# spacy model
https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.2.5/en_core_web_sm-2.2.5.tar.gz
Run Code Online (Sandbox Code Playgroud)

您可以对 github 发布页面上的所有模型执行此操作:https://github.com/explosion/spacy-models/releases/