s3fs与fsspec兼容版本组合查询:导入报错cannot import name 'maybe_sync'
报错根因
该导入错误由s3fs与fsspec的版本不兼容导致:s3fs==0.5.2 依赖 fsspec.asyn 模块中的maybe_sync接口,而fsspec==0.9.0版本已经将该接口移除,因此触发导入失败。
可用的兼容版本组合
- 保留
s3fs==0.5.2的场景:搭配fsspec>=0.8.0,<0.9.0版本即可,fsspec 0.8.x系列仍保留maybe_sync接口,推荐使用稳定版fsspec==0.8.7 - 保留
fsspec==0.9.0的场景:将s3fs升级到0.6.0及以上版本即可,s3fs从0.6.0版本开始适配了fsspec 0.9.0+的接口变更,移除了对maybe_sync的依赖 - 更高版本的稳定兼容规则:s3fs和fsspec使用同年同月发布的版本号(格式为
年.月.0,例如2023.10.0),即可保证完全兼容
修复操作示例
降级fsspec适配现有s3fs 0.5.2
# pip安装 pip install fsspec==0.8.7 # conda安装 conda install fsspec==0.8.7
升级s3fs适配现有fsspec 0.9.0
# pip安装 pip install s3fs==0.6.0 # conda安装 conda install s3fs==0.6.0
内容的提问来源于stack exchange,提问作者xsqian
相关产品推荐
相关产品推荐

