【22ver Harvard Transformer源码】Spacy 3.2.0,Python3.8的pydantic包 issubclass() arg 1 must be a class报错问题

承接上文,关于22ver的the annotated transformer源码中,频繁出现的报错,终于找到了原因。

就是spacy和pydantic版本冲突。

可调到最后复制升级spacy到3.2.6的语句。也可以看看文章,检查自己的pydantic版本是否也有问题。

我们在直接运行Harvard源码的requirement.text时会装3.2.0的spacy源码。会与pydantic的版本冲突。报错 issubclass() arg 1 must be a class

以下是改bug前我的包信息

(annotrans) C:\Windows\System32>pip list | findstr pydantic
pydantic                  1.8.2
(annotrans) C:\Windows\System32>python -m spacy info

============================== Info about spaCy ==============================

spaCy version    3.2.0
Location         C:\ProgramData\anaconda3\envs\annotrans\lib\site-packages\spacy
Platform         Windows-10-10.0.22631-SP0
Python version   3.8.19
Pipelines        de_core_news_sm (3.2.0), en_core_web_sm (3.2.0)

在探索spacy库的github时首先发现了这个Update constraints on pydantic · Issue #8428 · explosion/spaCy · GitHub,对于3.0的spacy,pydantic版本要求:pydantic>=1.7.4,!=1.8,!=1.8.1,<1.9.0

感觉可能1.8和1.8.1就是不对的,我看我pydantic也没错,于是继续找符合3.2.0的解决方案

具体可以看这个

Update constraints on pydantic · Issue #8428 · explosion/spaCy · GitHub

 解决方案

由于我仍然想保留与源代码一致的3.2版本的spacy,所以直接按照原文,升级了我的spacy3.2版本。

这里直接用可能有语法报错,以下是我的anaconda prompt语句

(annotrans) C:\Windows\System32>python -m pip install "spacy~=3.2.6"

  • 12
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值