在Anaconda Prompt运行Jupyter Notebook为何出现AttributeError?
解决Jupyter Notebook启动时的
AttributeError: module 'attr' has no attribute 's'问题 这问题我之前碰到过好几次,核心原因就是attrs库的版本不兼容——你当前环境里的attrs版本太新,废弃了旧的attr.s装饰器API,但依赖它的jsonschema包还在调用这个旧接口,直接导致了报错。
快速解决步骤:
先确认当前attrs版本
在Anaconda Prompt里执行命令查看:conda list attrs如果版本是22.0.0及以上,基本就是这个版本冲突的问题。
回退到兼容的attrs版本
执行以下命令安装21.4.0版本(这个版本和大多数旧依赖兼容):conda install attrs=21.4.0 -y如果conda安装失败,也可以用pip强制重装:
pip install attrs==21.4.0 --force-reinstall验证修复效果
重新在Anaconda Prompt里运行:jupyter notebook应该就能正常启动Jupyter Notebook了。
补充说明:
attrs库在22.0.0版本做了API大更新,把原来的@attr.s这类旧装饰器替换成了@attrs.define/@attrs.mutable,但很多老版本的包(比如你用到的jsonschema)还没适配新API,所以就出现了这个属性找不到的错误。回退到旧版本是最直接的临时解决方案,等后续依赖包更新适配后再升级attrs就行。
内容的提问来源于stack exchange,提问作者Shiva Kumar
相关产品推荐
相关产品推荐

