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

导入Python方法时遇AttributeError:'TestCase'无assertRaisesRegexp属性

解决AttributeError: 'TestCase' object has no attribute 'assertRaisesRegexp'问题

问题根源

Python 3.12 中,unittest.TestCase 的 assertRaisesRegexp 方法被正式移除,替换为 assertRaisesRegex。你使用的 ensure 库版本过旧,仍在调用这个已废弃的方法——哪怕你没主动编写单元测试,只要代码里用到了 ensure 的校验逻辑,就会间接触发这个错误。

解决方案

1. 优先升级ensure库

这是最稳妥的解决方式,直接更新到兼容Python 3.12的版本:

pip install --upgrade ensure

如果使用conda环境,执行:

conda update ensure

2. 临时手动修复(应急场景)

若升级后问题仍存在,或暂时无法升级库版本,可以手动修改源码:

  • 执行 pip show ensure,查看输出里的Location字段,找到ensure库的安装路径
  • 进入该路径下的ensure目录,打开main.py文件
  • 定位到第922行,将unittest_case.assertRaisesRegexp替换为unittest_case.assertRaisesRegex
  • 保存文件后重启Jupyter Notebook

3. 检查导入逻辑

确认xyzClassifier.utils.common模块中是否使用了ensure库的装饰器(比如@ensure.that),这类校验逻辑可能间接触发了unittest相关代码——通常升级库后该问题会自动消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.18 05:34:53