spacy install and problems sovled

本文详细介绍了在Python环境下安装Spacy英文模型时可能遇到的问题及解决方案,包括SSL证书验证失败、模型下载失败、DLL加载失败及MurmurHash编译错误等。提供了解决这些问题的具体步骤,并给出了在不同系统环境下的适用方案。
python -m pip install -U venv
venv .env
source .env/bin/activate
pip install -U spacy
python -m spacy download en

problems and solve

1. ssl.SSLError: certificate verify failed

ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:749)

Python 3.6 on MacOS uses an embedded version of OpenSSL, which does not use the system certificate store. To be explicit: MacOS users can probably resolve by opening Finder and double clicking Install Certificates.command like this:
这里写图片描述

2. python -m spacy download en 无法下载

官方提供了两种spacy模型下载方式,以en model为例:


Method1: 官方推荐的下载方式(会报连接超时,即使我使用VPN):
v1.7.0以后的新版本:python -m spacy en
这种方法下,spacy会为你优选一种en模型,即en_core_web_sm
如果你需要指定model,可使用:python -m spacy en_core_web_sm

v1.7.x以前的旧版本:python -m spacy.en.download all


Method2: v1.7.0以后的版本已将spacy model作为pip package(可用):

我用的是spacy 2.0.5(目前最新),所以应使用model的版本为en_core_web_sm-2.0.0
这里查https://spacy.io/models/en#en_core_web_sm

从github安装:

pip install https://github.com/explosion/spacy-models/releases/download/en_core_web_md-2.0.0/en_core_web_md-2.0.0.tar.gz

如果速度慢,可以先从github上下载,再pip或setup安装:
github spacy en模型(standard版)地址:
https://github.com/explosion/spacy-models/releases/download/en_core_web_md-2.0.0/en_core_web_md-2.0.0.tar.gz

本地pip安装:

pip install /YOUR_PATH/en_core_web_md-2.0.0.tar.gz

或解压后到setup.py路径,使用setup install安装:

python setup.py install

model会被单独安装在site-packages下作为一个包。

3. ImportError: DLL load failed

spacy与model版本不对应
我用的是spacy 2.0.5,所以应使用model的版本为en_core_web_sm-2.0.0。
这里查https://spacy.io/models/en
COMPAT选择你spacy的版本,他会告诉你该用什么版本的model。
点击右上角RELEASE DETAILS,可以在Tags标签下选择你需要的版本。
Tip:如果安装的是en_core_web_sm,那么应用spacy.load("en_core_web_sm")

4. murmurhash/mrmr.cpp:4:20: fatal error: Python.h: 没有那个文件或目录
murmurhash/mrmr.cpp:4:20: fatal error: Python.h: 没有那个文件或目录
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1

This is because in Ubuntu 16.0, python-dev is python3.5 not 3.6. so you need to install python-dev3.6 in glove. No matter whether you install your spacy in virenv or not, you just need to run the following code in your teminal:

sudo apt-get install python3.6-dev
### 解决 `pip install -U spacy` 报错的方案 当运行 `pip install -U spacy` 时遇到报错,可能的原因有多种,例如网络问题、依赖冲突或其他环境配置不当等问题。以下是详细的排查和解决方法: #### 1. 升级 `pip` 和相关工具 确保当前使用的 `pip` 是最新版本,因为旧版 `pip` 可能无法处理某些复杂的依赖关系。可以尝试以下命令来更新 `pip` 和其他必要的包: ```bash python -m pip install --upgrade pip setuptools wheel ``` 此操作有助于修复因工具过时引起的潜在问题[^1]。 #### 2. 检查并重装 `setuptools` 有时,`setuptools` 的不兼容版本可能导致安装失败。可以通过卸载现有版本并重新安装合适的版本来解决问题: ```bash pip uninstall setuptools pip install setuptools==65.5.0 # 或者选择适合您项目的具体版本 ``` 这种方法已被证明能够有效解决一些常见的安装错误[^2]。 #### 3. 安装特定的语言模型文件 对于 Spacy 而言,除了核心库外还需要加载对应的语言模型(如英语或德语)。如果通过官方渠道下载这些模型出现问题,则可以直接从本地安装预下载好的 `.tar.gz` 文件。例如: ```bash pip install en_core_web_sm-3.1.0.tar.gz pip install de_core_news_sm-2.2.5.tar.gz ``` 这种方式绕过了在线资源访问障碍,特别适用于网络条件不佳的情况[^3]^,^[^5]。 #### 4. 处理 SSL/TLS 连接异常 部分用户报告说,在执行类似于 `python -m spacy download en` 的过程中遇到了 OpenSSL 相关错误 (SysCallError),这通常是因为系统缺少最新的加密支持所致。对此建议先升级 `urllib3` 库试试看: ```bash pip install --upgrade urllib3 ``` 完成之后再试一次原命令应该就可以正常工作了[^4]。 #### 5. 替代源镜像站点 考虑到国际互联网速度差异较大以及国外托管服务偶尔不稳定等因素影响到国内开发者正常使用 PyPI 上架软件包的情形下,推荐切换至国内常用镜像地址之一来进行尝试,比如阿里云或者清华大学开源软件镜像站所提供的加速链接形式如下所示: ```bash pip install -i https://pypi.tuna.tsinghua.edu.cn/simple spacy ``` 以上就是关于如何应对 `pip install -U spacy` 遇见的各种典型状况及其对应的处置办法总结说明文档内容结束处提醒注意保持良好习惯定期维护个人开发环境中各个组件状态同步以便减少不必要的麻烦发生几率哦!
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值