spacy模块离线安装

什么样的人会阅读本文:在线安装模块失败,不知如何离线安装,或者离线安装之后依然无法加载

官方在线安装

conda install -c conda-forge spacy
python -m spacy download en //自动安装最合适的英文语料模块
python -m spacy download zh //自动安装最合适的中文语料模块
python -m spacy download [语言缩写] //自动安装最合适的语料模块
python -m spacy download en_core_web_sm //安装指定模块,版本号自动匹配

模块命名

例子:en_core_web_md-2.3.1.tar.gz

例子部位 字段 含义
en 语言 语言缩写,目前支持da,de,en,es,fr,ja,lt,nb,nl,pl,pt,ro,zh
core 模型能力级别(type) core支持vocabulary、syntax、entities、word vectors,depent仅支持only vocab、syntax、entities,core范围较大,通常用core
web 内容方向(genre) 这个模型是基于什么样的文本训练的 (e.g. web基于web text, news基于 news text)
md 大小(size) 模型大小 (sm, md , lg or trf(3.x.x有))
2 spacy的主版本
3 模块的主版本
1 模块的次版本

离线安装

//其他途径下载好包本地安装
(da38) C:\WINDOWS\system32> pip install D:\ProgramData\bag\zh_core_web_md-2.3.1.tar.gz
//组装好下载地址在线安装也可以,github不翻墙可能有点慢,大多几十到几百M
(da38) C:\WINDOWS\system32> pip install https://github.com/explosion/spacy-models/releases/download/zh_core_web_md-2.3.1/zh_core_web_md-2.3.1.tar.gz
下载地址组装: 加粗部分参考模块命令自行替换

https://github.com/explosion/spacy-models/releases/download/zh_core_web_md-2.3.1/zh_core_web_md-2.3.1.tar.gz

//最新spacy两个版本对应的模块及版本
{
  "spacy": {
    "3.0.0": {
      "zh_core_web_sm": ["3.0.0a0"],
      "zh_core_web_md": ["3.0.0a0"],
      "zh_core_web_lg": ["3.0.0a0"],
      "zh_core_web_trf": ["3.0.0a0"],
      "en_core_web_sm": ["3.0.0a0"],
      "en_core_web_md": ["3.0.0a0"],
      "en_core_web_lg": ["3.0.0a0"],
      "en_core_web_trf": ["3.0.0a0"],
      "en_vectors_web_lg": ["3.0.0a0"]
    },
    "2.3.5": {
      "zh_core_web_sm": ["2.3.1", "2.3.0"],
      "zh_core_web_md": ["2.3.1", "2.3.0"],
      "zh_core_web_lg": ["2.3.1", "2.3.0"],
      "en_core_web_sm": ["2.3.1", "2.3.0"],
      "en_core_web_md": ["2.3.1", "2.3.0"],
      "en_core_web_lg": ["2.3.1", "2.3.0"],
      "en_trf_bertbaseuncased_lg": ["2.3.0"],
      "en_trf_xlnetbasecased_lg": ["2.3.0"],
      "en_trf_robertabase_lg": ["2.3.0"],
      "en_trf_distilbertbaseuncased_lg": ["2.3.0"],
    }
}

测试

import spacy
nlp = spacy.load('zh')  //没有叫zh的快捷连接,包名,data目录
doc = nlp('作为语言而言,为世界使用人数最多的语言,目前世界有五分之一人口做为母语。')
print([e for e in doc])
OSError: [E050] Can't find model 'zh'. It doesn't seem to be a shortcut link, a Python package or a valid path to a data directory.
import spacy
import zh_core_web_md
//可以加载,旧的加载方式,不建议这样用,我遇到zh_core_web_ms用这种方法就加载不了,建立zh软连接却可以
nlp = zh_core_web_md.load()  
doc = nlp('作为语言而言,为世界使用人数最多的语言,目前世界有五分之一人口做为母语。')
print([e for e in doc])
out[1]: [作为, 语言, 而言, ,, 为, 世界, 使用, 人数, 最多, 的, 语言, ,, 目前, 世界, 有, 五分之一, 人口, 做为, 母语, 。]

配置软连接

安装之后,目录

D:\ProgramData\Anaconda3\envs\da38\Lib\site-packages\spacy\data
: ls
_init.py_
_pycache_

D:\ProgramData\Anaconda3\envs\da38\Lib\site-packages
: ls core_web
en_core_web_sm
en_core_web_sm-2.3.1.dist-info
zh_core_web_md
zh_core_web_md-2.3.1.dist-info
zh_core_web_sm
zh_core_web_sm-2.3.1.dist-info
.....

建立一个zh_core_web_md的软连接到 xxx\spacy\data 下并命名为zh,后面 spacy.load('zh'),这只是个别名,可以任意
管理员身份运行:

mklink /d D:\Anaconda3\envs\da38\Lib\site-packages\spacy\data\zh D:\Anaconda3\envs\da38\Lib\site-packages\zh_core_web_md
删除软连接 
rmdir D:\ProgramData\Anaconda3\envs\da38\Lib\site-packages\spacy\data\zh 

spacy\data目录

D:\ProgramData\Anaconda3\envs\da38\Lib\site-packages\spacy\data
λ ls *
_init.py_
_pycache_
en (软连接,如果python -m spacy download en在线安装成功,这个软连接会自动生成)
zh (软连接)

再次测试

import spacy
nlp = spacy.load('zh')
doc = nlp('作为语言而言,为世界使用人数最多的语言,目前世界有五分之一人口做为母语。')
print([e for e in doc])

out[1]: [作为, 语言, 而言, ,, 为, 世界, 使用, 人数, 最多, 的, 语言, ,, 目前, 世界, 有, 五分之一, 人口, 做为, 母语, 。]



在线安装失败原因:不用VPN直接无法建立连接,用VPN有时候远程强制关闭连接,有时候可以下载很慢

  • SEO:
    ConnectionResetError(10054, '远程主机强迫关闭了一个现有的连接。', None, 10054, None))
    Max retries exceeded with url: /explosion/spacy-models/master/shortcuts-v2.json
    AttributeError: module 'zh_core_web_ms' has no attribute 'load'
    ModuleNotFoundError: No module named 'en_core_web_ms'
    ModuleNotFoundError: No module named 'zh_core_web_ms'
    OSError: [E050] Can't find model 'en'.
    OSError: [E050] Can't find model 'zh'.

结束

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容