AWS CLI -'Aws-shell' namespace object has no attribute: cli_binary_format

Viewed 1229

When I attempt to use aws-shell to check my s3 bucket list I get this error: enter image description here

my environment is [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

Is anything wrong with any of my Envir. verions? Pls advice

1 Answers

See below for recommended approach -or- keep reading for a fix for aws-shell.

aws-shell requires awscli version 1 to function correctly, otherwise you'll receive the cli_binary_format error. To work around this you can do the following in the cloudshell environment.

  1. Install awscli version 1 and aws-shell:

pip3 install --user -U awscli aws-shell boto3 --use-feature=2020-resolver --no-cache-dir

  1. Update your PATH to cause the awscli version 1 to be the default:

export PATH=/home/cloudshell-user/.local/bin/:$PATH

However, the better solution would be to use awscli version 2 and enable the auto prompt feature as described here https://github.com/aws/aws-cli/issues/5664

aws configure set cli_auto_prompt on

or

export AWS_CLI_AUTO_PROMPT=on

Then awscli version 2 will behave similarly to aws-shell, providing completion hints etc.

Related