You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

安装Spacy GPU支持后无法运行,重装仍报错求助

解决Spacy导入报错ValueError: 'in' is not a valid parameter name

问题背景

  • 环境:Intel芯片macOS系统,Python 3.11.3
  • 操作过程:原本Spacy可正常使用,尝试执行pip install -U 'spacy[cuda113]'添加GPU支持后出现报错;卸载该包并通过pip install spacy重装Spacy后,运行仅含import spacy的脚本仍触发如下报错:

Traceback (most recent call last):
File "/Users/steve/workshop/python/blah.py", line 4, in
import spacy
File "/usr/local/lib/python3.11/site-packages/spacy/init.py", line 14, in
from . import pipeline # noqa: F401
^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/spacy/pipeline/init.py", line 1, in
from .attributeruler import AttributeRuler
File "/usr/local/lib/python3.11/site-packages/spacy/pipeline/attributeruler.py", line 6, in
from .pipe import Pipe
File "spacy/pipeline/pipe.pyx", line 1, in init spacy.pipeline.pipe
File "spacy/vocab.pyx", line 1, in init spacy.vocab
File "/usr/local/lib/python3.11/site-packages/spacy/tokens/init.py", line 1, in
from .doc import Doc
File "spacy/tokens/doc.pyx", line 36, in init spacy.tokens.doc
File "/usr/local/lib/python3.11/site-packages/spacy/schemas.py", line 158, in
class TokenPatternString(BaseModel):
File "/usr/local/lib/python3.11/site-packages/pydantic/main.py", line 369, in new
cls.signature = ClassAttribute('signature', generate_model_signature(cls.init, fields, config))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/site-packages/pydantic/utils.py", line 231, in generate_model_signature
merged_params[param_name] = Parameter(
^^^^^^^^^^
File "/usr/local/Cellar/python@3.11/3.11.3/Frameworks/Python.framework/Versions/3.11/lib/python3.11/inspect.py", line 2722, in init
raise ValueError('{!r} is not a valid parameter name'.format(name))
ValueError: 'in' is not a valid parameter name

原因分析

报错根源是旧版本Pydantic(<2.0)与Python 3.11不兼容。Python 3.11对关键字参数的检查更严格,而旧版Pydantic生成模型签名时,会将in这类Python关键字当作参数名,触发参数命名合法性校验错误。安装spacy[cuda113]时可能引入了不兼容的Pydantic版本,后续卸载重装Spacy时未同步更新该依赖。

解决方案

  1. 彻底卸载冲突包
    执行命令清理Spacy和旧版Pydantic:

    pip uninstall -y spacy pydantic
    
  2. 安装兼容版本
    直接安装最新版Spacy,它会自动匹配支持Python 3.11的Pydantic版本:

    pip install --upgrade spacy
    

    也可手动指定Pydantic版本(推荐使用前者自动适配):

    pip install spacy pydantic>=2.0
    
  3. 验证修复
    运行仅含import spacy的脚本,确认报错消失。

内容的提问来源于stack exchange,提问作者StevieD

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 03:05:27