繁体   English   中英

PyCharm 找不到 Spacy 模型“en”

[英]PyCharm can't find Spacy Model 'en'

我正在尝试从 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

这是以下输出:

要求已经满足: en_core_web_sm==2.0.0 来自https://github.com/explosion/spacy-models/releases/download/en_core_web_sm-2.0.0/en_core_web_sm-2.0.0 tar.gz#egg=en_core_web_sm==2.0.0 在 c:\\python27\\lib\\site-packages
您使用的是 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 终端中“升级”我的权限,以便我能够下载模型?

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

FULL_PATH_TO_PYTHON_INTERPRTER -m spacy download en

它现在应该可以在你的 PyCharm 上工作了。

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

使用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

使用手动下载

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。


解决方案:最后我只是在requirements.txt添加了 tar 的 github URL,然后 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

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

实际上,当您下载新的 spacy 模型时会发生这种情况,如 Spacy 所示:

下载命令将通过 pip 安装模型,将包放在您的site-packages目录中,并创建一个快捷链接,让您可以通过自定义名称加载模型。 快捷链接将与 spacy 下载中使用的模型名称相同。

您似乎是在系统级别进行安装,因此请尝试以“以管理员身份运行”的身份运行它,或者您也可以尝试使用virtualenv选项。 忽略成功链接消息,因为它只是一个快捷方式。

您也可以参考了解详细的故障排除指南。

转到您的 virtualenv,然后通过以下方式激活 venv:

source venv/bin/activate

然后当它被激活时输入: python -m spacy download en_core_web_sm

然后通过以下方式deactivate virtualenv: deactivate

如果您使用模型的直接链接,请确保使用以下链接链接下载的模型文件

python -m spacy link [package name or path] [shortcut] [--force]

通常模型文件下载在your-python-environment/lib/site-packages/ 下载 tar 并解压模型文件后,您应该会看到一个名为en的文件夹。 查看链接了解更多信息

您可以为 Python 设置系统变量或打开 CMD

C:\\ CD ... 转到安装了 python.exe 或 python 解释器的目录

C:\\解释器的路径> python -m spacy 下载 en_core_web_sm

完成,它将安装软件包。 您需要确保的是解释器的路径,如果它很常见,或者甚至更好地从项目中获取路径。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM