use*_*457 14 python amazon-s3 amazon-web-services python-3.x apache-spark
最近开始占用AWS平台,但是在尝试占用的时候Sagemaker,出现如下错误,不知道是因为Sagemaker\xc2\xb4Parquet Dataset\xc2\xb4还是有关系:
session = sagemaker.Session()\nregion = boto3.Session().region_name\nrole = get_execution_role()\n\nimport pyarrow.parquet as pq\nimport s3fs\ns3 = s3fs.S3FileSystem()\n\nbucket = \'s3://xx\'\n\ndf = pq.ParquetDataset(bucket, filesystem=s3).read_pandas().to_pandas()\nRun Code Online (Sandbox Code Playgroud)\n到目前为止,一切加载正常,但出现以下错误
\nAttributeerror: \'AioClientCreator\' object has no attribute \'_register_lazy_block_unknown_fips_pseudo_regions\'\nRun Code Online (Sandbox Code Playgroud)\n
我不知道,可能是什么错误
\nWes*_*eek 13
同样在这里。根据这个问题,这与 botocore 删除此功能有关。
这个有问题的函数 (_register_lazy_block_unknown_fips_pseudo_regions) 被有意删除,因为它被用来防止未知/新区域端点变体实际用于进行 API 调用,同时允许构建客户端,并且似乎已无意中添加到 aibotocore 中。
我能够通过使用解决该问题botocore==1.22.5。
编辑:
从那以后,我再次尝试让一切都协调起来。这是我的Pipfile,它似乎可以正常工作,不会抛出@Drwhit 报告的错误。我相信错误是来自这个问题。
s3fs = {version = "~=2021.4", extras = ["boto3"]}
aiohttp = "==3.7.2"
botocore = "==1.22.8"
aiobotocore = "==2.0.1"
Run Code Online (Sandbox Code Playgroud)
为了使其工作,在已经安装了一些库的环境中,我需要在安装旧的 boto3 版本之前发出一些卸载命令:
pip uninstall boto3
pip uninstall botocore
pip uninstall aiobotocore
Run Code Online (Sandbox Code Playgroud)
然后发出了这个:
pip install boto3==1.17.106
Run Code Online (Sandbox Code Playgroud)
...终于成功了。
如果在安装特定的 boto3 版本时出现任何冲突问题,只需卸载有冲突的软件包(我的 sagemaker 版本就遇到过这种情况)。如果需要,请在安装boto3旧版本后重新安装。不保证最终会起作用;尝试和错误会有所帮助。
完成后,发出pip list,这样您就可以获得可用版本的完整列表,并将其与适当的语法更改一起放入文件中requirements.txt,以便稍后构建您的环境。
| 归档时间: |
|
| 查看次数: |
14050 次 |
| 最近记录: |