最近,我开始使用AWS平台,但当我尝试使用Sagemaker时,出现了以下错误,我不知道是因为Sagemaker,还是与Parquet数据集有关
session = sagemaker.Session()
region = boto3.Session().region_name
role = get_execution_role()
import pyarrow.parquet as pq
import s3fs
s3 = s3fs.S3FileSystem()
bucket = 's3://xx'
df = pq.ParquetDataset(bucket, filesystem=s3).read_pandas().to_pandas()到目前为止,一切都加载得很好,但我有以下错误
attributeerror: 'AioClientCreator' object has no attribute '_register_lazy_block_unknown_fips_pseudo_regions'我不知道,可能的错误是什么?
发布于 2021-11-19 01:17:12
我也是。根据this issue的说法,这与botocore移除这个函数有关。
aibotocore中的这个函数(_register_lazy_block_unknown_fips_pseudo_regions)被故意删除,因为它被用来防止未知/新区域端点变体实际用于进行
调用,同时允许客户端被构造,并且似乎被无意中添加到了aibotocore中。
我能够通过使用botocore==1.22.5解决这个问题。
编辑:
从那以后,我再次尝试让所有的东西都在一起工作。这是我的Pipfile,它似乎不会像@Drwhit报告的那样抛出错误。我相信这个错误来自于this issue。
s3fs = {version = "~=2021.4", extras = ["boto3"]}
aiohttp = "==3.7.2"
botocore = "==1.22.8"
aiobotocore = "==2.0.1"发布于 2021-12-21 11:54:57
为了实现这一点,在已经安装了一些库的环境中,在安装旧的boto3版本之前,我需要发出一些卸载命令:
pip uninstall boto3
pip uninstall botocore
pip uninstall aiobotocore然后发布了这个:
pip install boto3==1.17.106...and终于成功了。
如果在安装特定的boto3版本时出现任何冲突问题,只需卸载有冲突的包(在我使用某个版本的sagemaker时发生)。如果需要,请在安装boto3旧版本后重新安装。不能保证最终会奏效;试错会有所帮助。
完成后,发出pip list命令,这样您就可以获得可用的完整版本列表,并将经过适当语法更改后的版本放入requirements.txt文件中,以便以后可以构建您的环境。
https://stackoverflow.com/questions/69994834
复制相似问题