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”的主要内容,如果未能解决你的问题,请参考以下文章

s3fs挂s3作为本地盘制作ftp使用

如何在 xarray 的后端添加 fsspec.open_local

如何使用 fsspec+adlfs 加快从 adl:// 读取 CSV/Parquet 文件的速度?

VS 2015 ASP.NET 4 MVC 5 中的打字稿 - 设置和选择的工作组合是啥?

2019-01-23-s3fs 使用

利用s3fs 将 s3 bucket 挂载到Linux目录