Reputation: 1321
I was trying to check the AWS-CLI version on my MAC OS X. And the below error hit back:
dyld: Library not loaded: @executable_path/../.Python
Referenced from: /usr/local/aws/bin/python
Reason: image not found
Abort trap: 6
Any relevant inputs on how to fix this would be highly appreciated.
Upvotes: 131
Views: 86872
Reputation: 851
This worked for me
I uninstall awscli
brew uninstall awscli
Then installed in raw
curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
unzip awscli-bundle.zip
create a link between python3
sudo ln -s /usr/local/bin/python3 /usr/local/bin/python
Install
sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws
Upvotes: 0
Reputation: 21
I tried all the above solutions and nothing worked
then I tried this from https://docs.aws.amazon.com/cli/v1/userguide/install-macos.html and it worked :
sudo /usr/local/bin/python3.7 awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws
Upvotes: 2
Reputation: 2142
If you installed AWS CLI via curl according to AWS' official instructions at https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html, simply rerunning these commands without any prior deletions solved it for me:
curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
sudo installer -pkg ./AWSCLIV2.pkg -target /
Upvotes: 0
Reputation: 1848
If:
Then just delete the env like:
# MacOS paths
rm -rf /Users/<user>/Library/Caches/pypoetry/virtualenvs/<your_virtual_env_name>
To get the name and path of the env you can do:
poetry shell
There will be an error similar to this:
EnvCommandError
Command ['/Users/<user>/Library/Caches/pypoetry/virtualenvs/<your_virtual_env_name>/bin/python', '-W', 'ignore', '-'] ...
Copy the env path, do rm -rf <path>
and after that do poetry shell
Upvotes: 0
Reputation: 1
This work for me.
brew upgrade
brew uninstall aws-sam-cli
brew install aws-sam-cli
Upvotes: 0
Reputation: 832
This error occurs because your virtual environment has broken symlinks.
Here is a nice solution taken from tevino's fix_virtualenv
gist:
#!/usr/bin/env bash
ENV_PATH="$(dirname "$(dirname "$(which pip)")")"
SYSTEM_VIRTUALENV="$(which -a virtualenv|tail -1)"
BAD_ENV_PATHS="/usr/local"
echo "Ensure the root of the broken virtualenv:"
echo " $ENV_PATH"
if [[ -z "$ENV_PATH" ]] || [[ "$ENV_PATH" = *"$BAD_ENV_PATHS"* ]]; then
echo "The root path above doesn't seems to be a valid one."
echo "Please make sure you ACTIVATED the broken virtualenv."
echo "‼️ Exiting for your safety... (thanks @laymonk for reporting this)"
exit 1
fi
read -p "‼️ Press Enter if you are not sure (y/N) " -n 1 -r
echo
if [[ $REPLY =~ ^[Yy]$ ]]; then
echo "♻️ Removing old symbolic links......"
find "$ENV_PATH" -type l -delete -print
echo "💫 Creating new symbolic links......"
$SYSTEM_VIRTUALENV "$ENV_PATH"
echo "🎉 Done!"
fi
Also, here is a similar question: Broken references in Virtualenvs.
Upvotes: 18
Reputation: 1049
After read the topic, It works for me:
$ sudo rm -rf /usr/local/aws
$ sudo rm /usr/local/bin/aws
$ brew reinstall awscli
Upvotes: 27
Reputation: 7057
It's possible to trigger this error by having a problem in your virtualenv. For example, I had an existing working virtualenv and ran brew install awscli
and it broke my virtualenv with this error. If that's the case, deleting and recreating your virtualenv (the same way you originally created it) should resolve the problem. It did for me.
Upvotes: 2
Reputation: 21
I had it installed through curl, the regular way
$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
Then it stopped working complaining about not finding python2.7
dyld: Library not loaded: @executable_path/../.Python
Referenced from: /usr/local/aws/bin/python2.7
Reason: image not found
Abort trap: 6
so I fixed it by following these steps (make sure you don't do this if you installed it through brew
):
$ sudo rm -rf /usr/local/aws
$ sudo rm /usr/local/bin/aws
Then I installed it using brew:
$ brew upgrade
$ brew install awscli
Upvotes: 2
Reputation: 56
If you have already python (python --version works. If not install it with brew install python). It works for me:
Uninstall aws
$ sudo rm -rf /usr/local/aws
$ sudo rm /usr/local/bin/aws
Install it again
$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
$ unzip awscli-bundle.zip
$ sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws
Upvotes: 3
Reputation: 93531
It is a bug with awscli and it might be fixed with the next versions. That's why, a best practices is to upgrade :
brew upgrade awscli
Upvotes: 102
Reputation: 11776
You must have messed up with the brew. Try reinstalling it using: brew install awscli
(followed by brew link awscli
if needed).
Upvotes: 37
Reputation: 431
I had similar issue while installing awscli with homebrew on mac. So final approach was "brew uninstall python3" and reinstall awscli again.
Upvotes: 2