spaCy调用GPU报错:Cannot use GPU, CuPy is not installed 求助
问题排查与解决方案
核心问题分析
spaCy 3.7.5的官方cuda额外安装包暂不支持CUDA 12.2,且spaCy的GPU加速依赖CuPy库(而非直接复用PyTorch的CUDA环境)——所以即使torch.cuda.is_available()返回True,缺少对应版本的CuPy仍会导致spacy.require_gpu()报错。
解决步骤
1. 安装spaCy支持的CUDA对应包
spaCy 3.7.5仅提供cuda118和cuda121的额外安装选项,你的PyTorch使用cu121,且CUDA 12.2向下兼容12.1,因此直接安装cuda121版本的spaCy GPU支持包即可:
# 激活虚拟环境后执行 pip install -U 'spacy[cuda121]'
该命令会自动安装匹配spaCy 3.7.5的CuPy版本(对应CUDA 12.1),可在CUDA 12.2环境中正常运行。
2. 手动安装CuPy(可选,若上述命令失败)
如果直接安装spacy[cuda121]遇到问题,可手动安装适配CUDA 12.2的CuPy,再确保spaCy能调用它:
# 卸载可能存在的不兼容CuPy版本 pip uninstall -y cupy-cuda122 cupy-cuda11x # 安装CUDA 12.2对应的CuPy版本(适配Python 3.8) pip install cupy-cuda122==12.0.0
注:CuPy版本需与Python版本兼容,Python 3.8推荐安装CuPy 12.x系列。
3. 验证GPU支持
安装完成后,在Python交互环境中验证:
import spacy import cupy # 检查CuPy是否可用 print(cupy.cuda.is_available()) # 应返回True # 检查spaCy GPU支持 spacy.require_gpu() # 无报错则说明成功
额外注意事项
- 确保操作始终在目标虚拟环境中执行,避免系统全局Python环境干扰。
- NVIDIA驱动版本535.183.01兼容CUDA 12.1/12.2,无需更新驱动。
内容的提问来源于stack exchange,提问作者Encipher
相关产品推荐
相关产品推荐

