【问题标题】:AWS CLI -'Aws-shell' namespace object has no attribute: cli_binary_formatAWS CLI -'Aws-shell' 命名空间对象没有属性:cli_binary_format
【发布时间】:2022-01-16 02:57:14
【问题描述】:
当我尝试使用 aws-shell 检查我的 s3 存储桶列表时,我收到此错误:
我的环境是[cloudshell-user@ip-10-0-***~]$ aws --version
aws-cli/2.2.43 Python/3.8.8 Linux/4.14.252-195.483.amzn2.x86_64 exec-env/CloudShell exe/x86_64.amzn.2 prompt/off
我的 Envir 有什么问题吗?版本?请指教
【问题讨论】:
标签:
linux
amazon-web-services
amazon-s3
command-line-interface
aws-cli
【解决方案1】:
请参阅下面的推荐方法 - 或 - 继续阅读以获取 aws-shell 的修复。
aws-shell 需要 awscli 版本 1 才能正常运行,否则您将收到 cli_binary_format 错误。要解决此问题,您可以在 cloudshell 环境中执行以下操作。
- 安装 awscli 版本 1 和 aws-shell:
pip3 install --user -U awscli aws-shell boto3 --use-feature=2020-resolver --no-cache-dir
- 更新您的 PATH 以使 awscli 版本 1 成为默认值:
export PATH=/home/cloudshell-user/.local/bin/:$PATH
但是,更好的解决方案是使用 awscli 版本 2 并启用此处所述的自动提示功能https://github.com/aws/aws-cli/issues/5664
aws configure set cli_auto_prompt on
或
export AWS_CLI_AUTO_PROMPT=on
然后 awscli 版本 2 的行为将类似于 aws-shell,提供完成提示等。