s3fs 和 fsspec 版本的工作组合是啥? ImportError:无法从“fsspec.asyn”导入名称“maybe_sync”
Posted
技术标签:
【中文标题】s3fs 和 fsspec 版本的工作组合是啥? ImportError:无法从“fsspec.asyn”导入名称“maybe_sync”【英文标题】:What is the working combination of the s3fs and fsspec version? ImportError: cannot import name 'maybe_sync' from 'fsspec.asyn's3fs 和 fsspec 版本的工作组合是什么? ImportError:无法从“fsspec.asyn”导入名称“maybe_sync” 【发布时间】:2021-11-06 01:35:25 【问题描述】:我使用的是最新版本的s3fs-0.5.2和fsspec-0.9.0,导入s3fs时遇到如下错误:
File "/User/.conda/envs/py376/lib/python3.7/site-packages/s3fs/__init__.py", line 1, in <module>
from .core import S3FileSystem, S3File
File "/User/.conda/envs/py376/lib/python3.7/site-packages/s3fs/core.py", line 11, in <module>
from fsspec.asyn import AsyncFileSystem, sync, sync_wrapper, maybe_sync
ImportError: cannot import name 'maybe_sync' from 'fsspec.asyn' (/User/.conda/envs/py376/lib/python3.7/site-packages/fsspec/asyn.py)
什么是 s3fs 和 fsspec 的有效组合版本?
【问题讨论】:
【参考方案1】:截至今天,s3fs 和 fsspec 的最新版本是 2021.11.0。 conda-forge 上的最新版本是 2021.10.1 。由于今年更改日历版本,所以两者总是一起发布并固定依赖,这样以后就不会出现这种问题了。
我相信对于 fsspec 0.9.0,您需要 s3fs 0.6.0。
【讨论】:
【参考方案2】:在我的情况下也发生了同样的事情。 “fsspec.asyn”中缺少“maybe_sync”。对我来说,以下工作。
!pip install --upgrade awscli
!pip install --upgrade boto3
!pip install --upgrade git+https://github.com/dask/s3fs
【讨论】:
请不要将此作为一般设置。在这样的环境中升级你所有的包真的会破坏事情(例如,botocore/aiobotocore pinning),除非你知道你在做什么,否则你不应该依赖主分支版本。以上是关于s3fs 和 fsspec 版本的工作组合是啥? ImportError:无法从“fsspec.asyn”导入名称“maybe_sync”的主要内容,如果未能解决你的问题,请参考以下文章
如何在 xarray 的后端添加 fsspec.open_local
如何使用 fsspec+adlfs 加快从 adl:// 读取 CSV/Parquet 文件的速度?