导入transformers模块报错:无法从tqdm.utils导入ObjectWrapper
解决 ImportError: cannot import name 'ObjectWrapper' from 'tqdm.utils'
问题原因
tqdm 4.65.0版本中移除了ObjectWrapper类,但你使用的transformers 4.27.4仍依赖这个类,两者版本不兼容导致报错。
解决方案
降级tqdm到兼容版本
安装tqdm 4.64.x及以下的版本,该版本仍保留ObjectWrapper类:pip install tqdm==4.64.1升级transformers到适配版本
更新transformers到4.28.0及以上版本,这些版本已修复对tqdm 4.65.0的兼容性问题:pip install --upgrade transformers临时应急修复(不推荐)
若暂时无法修改包版本,可手动在/Users/anitasancho/opt/anaconda3/lib/python3.7/site-packages/tqdm/utils.py中添加以下代码:class ObjectWrapper: def __init__(self, obj): self.obj = obj def __getattr__(self, attr): return getattr(self.obj, attr)注意:该方法可能引发其他未知问题,仅作为临时方案使用。
内容的提问来源于stack exchange,提问作者anitasp
相关产品推荐
相关产品推荐

