If you work with multiple sets of AWS credentials and boto or boto-based tools like s3cat, you may have noticed that Boto doesn't use the same configuration as the AWS cli tools. The AWS CLI tools look at ~/.aws/config, and boto looks for ~/.aws/credentials. Also, the format is slightly different. I'm curious what other people do, but I've got a little helper script I call mkbotocreds in my path:

cp ~/.aws/config ~/.aws/credentials
sed -i 's/profile //g' ~/.aws/credentials

This makes ~/.aws/config the default config, and builds boto credentials from the sections there. Just run it whenever you add or change credentials in ~/.aws/config.

The above should work breezy on Linux. If you're on OS X, though, you're going to want to get yourself a proper version of sed:

brew install gnu-sed --default-names

Trust me, you'll thank yourself later for making the change.

I also recommend using the AWS plugin for oh-my-zsh. Apply this mod to make sure your AWS and boto commands use the same profile within your shell session.