Every time I want to config something with AWS I get the following error :
\"The config profile (myname) could not be found\"
like : aws confi
I think there is something missing from the AWS documentation in http://docs.aws.amazon.com/lambda/latest/dg/setup-awscli.html, it did not mention that you should edit the file ~/.aws/config
to add your username profile. There are two ways to do this:
edit ~/.aws/config
or
aws configure --profile "your username"
In my case, I had the variable named "AWS_PROFILE" on Environment variables with an old value.
can you check your config
file under ~/.aws/config
- you might have an invalid section called [myname], something like this (this is an example)
[default]
region=us-west-2
output=json
[myname]
region=us-east-1
output=text
Just remove the [myname] section (including all content for this profile) and you will be fine to run aws
cli again
Working with profiles is little tricky. Documentation can be found at: https://docs.aws.amazon.com/cli/latest/topic/config-vars.html (But you need to pay attention on env variables like AWS_PROFILE)
Using profile with aws cli requires a config file (default at ~/.aws/config
or set using AWS_CONFIG_FILE
).
A sample config file for reference:
`
[profile PROFILE_NAME]
output=json
region=us-west-1
aws_access_key_id=foo
aws_secret_access_key=bar
`
Env variable AWS_PROFILE
informs AWS cli about the profile to use from AWS config. It is not an alternate of config file like AWS_ACCESS_KEY_ID
/AWS_SECRET_ACCESS_KEY
are for ~/.aws/credentials
.
Another interesting fact is if AWS_PROFILE
is set and the AWS_ACCESS_KEY_ID
and AWS_SECRET_ACCESS_KEY
environment variables are set, then the credentials provided by AWS_ACCESS_KEY_ID
and AWS_SECRET_ACCESS_KEY
will override the credentials located in the profile provided by AWS_PROFILE
.
I ran into this problem when I moved to a new machine, carrying with me my AWS_DEFAULT_PROFILE environment variable, but not my ~/.aws directory. I couldn't get any awscli commands to work until I unset that variable or properly configured the named profile. But even the aws configure
command was broken, making things a bit tricky. Assuming you have a Unix-like shell handy:
env | grep AWS_
unset AWS_DEFAULT_PROFILE
aws --profile foo configure
exec $SHELL
aws iam get-user
Make sure you are in the correct VirtualEnvironment. I updated PyCharm and for some reason had to point my project at my VE again. Opening the terminal, I was not in my VE when attempting zappa update (and got this error). Restarting PyCharm, all back to normal.