Spacy链接错误

25

运行时:

import spacy
nlp = spacy.load('en')
以下内容被打印:

警告:没有找到“en”的模型,仅加载“en”分词器。

/site-packages/spacy/data除初始化文件外为空。 所有文件路径都只指向我的Python单个安装程序。

非常感谢您的帮助解决此问题。

谢谢! Will


嗨Will,如果这里的任何答案解决了您的问题,请将其视为答案并接受它 :) - zelusp
12个回答

37

我在Windows 10上尝试时也遇到了同样的问题-输出python -m spacy.en.download all显示链接成功,但在此之上有一条消息说符号链接实际上未被创建,因为权限不足。

以管理员身份运行python -m spacy.en.download all可以解决这个问题。


使用Ubuntu,运行sudo python -m spacy.en.download all解决了我的问题。谢谢。 - AER
12
最新版本中的语法已更改为“python -m spacy download en”。 - hkyi
我遇到了ModuleNotFoundError错误:找不到名为'spacy.gold'的模块。 - aerin

7

7

以管理员身份运行 cmd,然后下载模型 en package。

python -m spacy download en

如果您使用的是Mac OS,请参考此链接 - Itay
什么都没用,但这解决了问题:谢谢。 - Giuppox

6
如果您通过pip安装了一个模型,也可以直接导入并调用其load()方法:

例如:

import spacy

nlp = spacy.load("en")

其中“en”表示英语模型。

import spacy
import en_core_web_sm

nlp = en_core_web_.load()
doc = nlp(u'This is a sentence.')

这对我很有帮助,因为我在工作笔记本电脑上没有管理员权限。谢谢。 - mockash

3
这适用于Ubuntu用户。
sudo python -m spacy download en

3
在我的情况下,我之前安装了一个创建了符号链接的spacy版本。
ls -al "/usr/local/lib/python3.5/dist-packages/spacy/data/en"
lrwxrwxrwx 1 root staff 74 Dec  5 00:40 /usr/local/lib/python3.5/dist-packages/spacy/data/en -> /usr/local/lib/python3.5/dist-packages/en_core_web_sm/en_core_web_sm-1.2.0

rm "/usr/local/lib/python3.5/dist-packages/spacy/data/en"

python3 -m spacy download en

然后一切顺利。


2
当你使用spaCy的download命令时,它会自动创建快捷链接。
python -m spacy download en

但是,如果您已经下载了模型,您就不需要再次下载它,您可以使用链接命令创建一个链接。
python -m spacy download en_core_web_sm
python -m spacy link en_core_web_sm en

1

我通过直接导入模型来解决了这个问题,而不是执行nlp = spacy.load('en')


2
请将此作为评论放在问题下面,因为它目前更像是一个部分回答。 - CodeMonkey

0
  1. 删除现有的spacy安装

    pip uninstall spacy 
    
  2. 安装spacy 2.3.5版本

    pip install spacy==2.3.5     
    
  3. 支持Spacy 3。在Rasa Open Source的早期版本中,安装英语语言模型的spaCy还需要运行 python3 -m spacy link en_core_web_md en。

    python -m spacy download en_core_web_md 
    
    创建符号链接于 C:\Users\ABC\Anaconda3\envs\RasaBot\lib\site-packages\spacy\data\en <<===>> C:\Users\ABC\Anaconda3\envs\RasaBot\lib\site-packages\en_core_web_md
    ✔ 链接成功
    C:\Users\ABC\Anaconda3\envs\RasaBot\lib\site-packages\en_core_web_md -->
    C:\Users\ABC\Anaconda3\envs\RasaBot\lib\site-packages\spacy\data\en
    现在可以使用spacy.load('en')加载该模型。
    

0
如果您无法使用 python -m spacy download en(权限等问题),您可以先下载模型,然后再通过 pip install 安装。例如,这是针对版本 2.3 的操作:

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

.tar.gz归档文件是在spacy download期间下载的相同文件,并且可以安装:

pip install /path/to/en_core_web_sm-2.0.0.tar.gz

然后你可以做:

import en_core_web_sm

nlp = en_core_web_sm.load()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接