天天看点

spacy环境搭建

spacy环境搭建

0.前言

  • 博主默认各位读者在自己的电脑上已经搭建好

    python

    的环境。
  • 下面的安装默认以

    pip

    方式进行安装。
  • 全文开发环境为 windows 10 x64。

1.spacy安装

打开命令行窗口,输入以下命令,进行

spacy

的安装。

pip install -U pip setuptools wheel
pip install -U spacy
           

上述方式,在国内安装的话,经常安装到一半,或者安装到一大半后,就报错终止了,估计是因为网络问题。建议换成下述方式安装:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -U pip setuptools wheel
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple  -U spacy
           

其中,https://pypi.tuna.tsinghua.edu.cn/simple 是国内的代理,下载速度飕飕,妈妈再也不用担心我砸电脑了。

  • -i: 指定库的安装源。
  • -U: 升级 原来已经安装的包,不带U不会装新版本,带上U才会更新到最新版本。

按照上述安装完

spacy

后,打开命令行窗口,输入

python

进入

python

操作界面,输入

import spacy

后回车,没有报错就代表安装成功了:

spacy环境搭建

2. spacy中文模型包

2.1spacy中文模型包安装(推荐方式一)

安装之前,建议看一下附录,修改

pip install

的默认安装路径:4.1 附录一:更改 Python 的 pip install 默认安装依赖路径

2.1.1 离线安装方式一:

首先,去

https://github.com/explosion/spacy-models/releases

网址选择适合自己项目的中文模型包。

这里以

https://github.com/explosion/spacy-models/releases/download/zh_core_web_lg-3.0.0a0/zh_core_web_lg-3.0.0a0.tar.gz

为例,

下载地址组装: 加粗部分参考模块命令自行替换

https://github.com/explosion/spacy-models/releases/download/zh_core_web_lg-3.0.0a0/zh_core_web_lg-3.0.0a0.tar.gz

命令行进入下载的文件所在的目录,然后执行

pip install --user zh_core_web_lg-3.0.0a0.tar.gz

,喝杯大红袍等待一会儿。安装完成后,撸一段下面这样的代码,执行一下:

# -*- coding: utf-8 -*-
import spacy

nlp = spacy.load('zh_core_web_lg')
doc = nlp("中国,你好吗?")
print([(w.text,w.pos_) for w in doc])
           

如果输出结果如下:

spacy环境搭建

万事大吉,睡觉!

如果在执行程序时,碰到

jieba

pkuseg

没有安装的问题,可以参考离线安装方式二中

jieba

pkuseg

的安装教程。

2.1.2 离线安装方式二:

将下载的模型包直接解压到项目路径中,然后直接在项目中引用。如:我在新建的项目中创建了一个测试demo,然后将红框中的路径解压到与你写的测试案例文件同级的目录中。

spacy环境搭建

然后在项目中进行引用,demo代码如下:

import spacy
#路径按需修改
spacyModel='zh_core_web_lg-3.0.0a0/zh_core_web_lg/zh_core_web_lg-3.0.0a0'
nlp = spacy.load('spacyModel')
doc = nlp("中国,你好吗?")
print([(w.text,w.pos_) for w in doc])
           

这个时候你运行是会保存的,这种方式会少安装许多东西。

2.1.2.1.安装jieba
  • a.来自于网络:
    • 全自动安装:

      easy_install jieba

      或者

      pip install jieba

      /

      pip3 install jieba

    • 半自动安装:先下载

      http://pypi.python.org/pypi/jieba/

      ,解压后运行

      python setup.py install

    • 手动安装:将

      jieba

      目录放置于当前目录或者

      site-packages

      目录。
    • 通过

      import jieba

      来引用 。
  • b.本地实验:

    pip install jieba

  • c.推荐安装方法:

    pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jieba

2.1.2.2.安装pkuseg
pip install pkuseg
           

建议换成:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pkuseg
           

jieba 与 pkuseg 安装完成后,就可以正常运行上面的 demo了。

3.遇到的问题

1.ModuleNotFoundError: No module named ‘pip’

解决方案:

python -m ensurepip
python -m pip install --upgrade pip
           

2.使用官网命令安装模型包遇到的坑

spacy环境搭建

报错内容是:

requests.exceptions.ConnectionError: HTTPSConnectionPool(host='raw.githubusercontent.com', port=443): Max retries exceeded with url: /explosion/spacy-models/master/shortcuts-v2.json (Caused by NewConnectionError('<urllib3.connection.VerifiedHTTPSConnection object at 0x000002368F92A7B8>: Failed to establish a new connection: [WinError 10061] 由于目标计算机积 极拒绝,无法连接。'))

解决方案:

一直连接一直错,建议采用离线安装的方式。

3.离线安装模型包的坑

spacy环境搭建

解决方法:

在pip install 后面加上 --user + 需要安装的包名

例如:

pip install --user en_core_web_lg-3.0.0a0.tar.gz

4.附录

4.1 附录一:更改 Python 的 pip install 默认安装依赖路径

总体步骤

先查看自己的默认安装路径到底是在哪?列出全局的

packages

包的安装路径在哪?

  1. 按键

    (win+R)

    ->打开

    cmd命令窗口

  2. 键入

    python -m site

    ,显示如下:
sys.path = [
    'C:\\Users\\WangHY',
    'D:\\python\\Python38\\python38.zip',
    'D:\\python\\Python38\\DLLs',
    'D:\\python\\Python38\\lib',
    'D:\\python\\Python38',
    'D:\\python\\Python38\\Lib\\site-packages',
]
USER_BASE: 'D:\\python\\Python38\\Scripts' (exists)
USER_SITE: 'D:\\python\\Python38\\Lib\\site-packages' (exists)
ENABLE_USER_SITE: True
           

说明:

  • USER_BASE:用户自定义的启用Python脚本的基础路径。
  • USER_SITE:用户自定义的启用Python依赖安装包的基础路径。

如果上述两个地址不做配置,默认为

Node

,当使用

pip install

安装时,会将安装的东西安装在系统盘的相应位置,如我的默认位置为:

C:\Users\WangHY\AppData\Roaming\Python\Python38
           

建议修改成

python

安装路径中的相应位置,如我的修改成了:

# for distutils.commands.install
# These values are initialized by the getuserbase() and getusersitepackages()
# functions, through the main() function when Python starts.
USER_SITE = "D:\python\Python38\Lib\site-packages"
USER_BASE = "D:\python\Python38\Scripts"
           

在cmd命令行窗口中输入

python -m site -help

,会出现以下信息:

D:\python\Python38\lib\site.py [--user-base] [--user-site]

Without arguments print some useful information
With arguments print the value of USER_BASE and/or USER_SITE separated
by ';'.

Exit codes with --user-base or --user-site:
  0 - user site directory is enabled
  1 - user site directory is disabled by user
  2 - uses site directory is disabled by super user
      or for security reasons
 >2 - unknown error
           

可以看待

site.py

的路径为

D:\python\Python38\lib\site.py

,这个就是我们要修改的文件,找到这个文件打开后进行相应的修改就可以了。

早,就是优势!希望我们彼此都成为牛 啤的人!

公众号&微博&视频号:冬月末

Wechat:terrytian1125(本人)

spacy环境搭建