天天看點

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環境搭建