How to resolve "dyld: Library not loaded: @executable_path.." error
Asked Answered
S

12

130

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.

Selfcontained answered 4/12, 2017 at 8:51 Comment(2)
This error can occur when you brew install some_package when you are inside a virtualenv. I think what happens is brew does its work inside the vm. To fix it, deactivate from your virtualenv, rm -rf your virtual environment folder. Then rebuild it from scratch. Then put a loud comment that says don't brew install stuff inside a virtual environment.Tenantry
If you don't want to rebuild it from scratch follow this link It worked for meDesdamonna
M
101

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
Monika answered 2/7, 2018 at 12:42 Comment(5)
if you have a broken symlink this will not work. it will tell you that awscli isn't installed and you'll end up having to run brew link --overwrite awscli and that's what worked for me. I upvoted because it was a start down the right path.Orazio
If you follow the instructions on the AWS CLI page this won't work docs.aws.amazon.com/cli/latest/userguide/install-macos.htmlYuriyuria
A similar note for those running into a similar issue with eb, you can run brew upgrade aws-elasticbeanstalk.Ardisardisj
I has no aswcli, for exampleDoily
i am getting this error and with no connected to aws-cli. i do run multiple virtualenv's on my laptop, and my python3 was recently upgraded from 3.7 to 3.9Charlesettacharleston
K
37

You must have messed up with the brew. Try reinstalling it using: brew install awscli (followed by brew link awscli if needed).

Kellby answered 10/2, 2018 at 14:55 Comment(1)
This didn't, also due to this error: Error: awscli 1.14.60 is already installedHowitzer
L
26

After read the topic, It works for me:

  1. Uninstall aws
$ sudo rm -rf /usr/local/aws
$ sudo rm /usr/local/bin/aws
  1. Reinstall it again
    $ brew reinstall awscli
Lamm answered 6/12, 2019 at 6:22 Comment(1)
Same problem, all I did was brew reinstall awscli and it was fixed. ThanksTeacher
Y
18

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.

Yeta answered 5/12, 2017 at 12:17 Comment(5)
Amazing, this fixed my issue immediatelyShaikh
How does one run this?Antilebanon
Summary of solution: 1) Delete all symlinks inside your virtual environment by running find your-virtual-env-directory -type l -delete 2) Recreate the symlinks inside your virtual environment by running virtualenv your-virtual-env-directoryAndalusite
I am getting the error OSError: Command /Users/defaultuser/D...o/venv/bin/python3.7 - setuptools pip wheel failed with error code -6 when I run the command $SYSTEM_VIRTUALENV "$ENV_PATH". No idea what is error code "-6"Azurite
Don't use it! It deleted all of my important symlinks in home dir. and did not created any new ones. Instead it gave an error line 24: .: filename argument requiredDoily
B
3

If you have already python (python --version works. If not install it with brew install python). It works for me:

  1. Uninstall aws

    $ sudo rm -rf /usr/local/aws
    $ sudo rm /usr/local/bin/aws
    
  2. 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
    
Boughton answered 15/7, 2019 at 13:44 Comment(0)
A
2

I had similar issue while installing awscli with homebrew on mac. So final approach was "brew uninstall python3" and reinstall awscli again.

Aweless answered 4/1, 2018 at 6:17 Comment(0)
G
2

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
Gorlin answered 26/9, 2019 at 21:36 Comment(0)
S
2

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.

Surprising answered 1/10, 2019 at 20:20 Comment(0)
B
2

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

Batsheva answered 7/4, 2022 at 15:14 Comment(0)
C
0

This work for me.

brew upgrade
brew uninstall aws-sam-cli
brew install aws-sam-cli
Crumpled answered 17/5, 2021 at 19:6 Comment(0)
T
0

If:

  • you reinstalled/relinked awscli
  • and are experiencing this issue while you work on a Python Poetry virtual env

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

Timeless answered 9/3, 2022 at 14:14 Comment(0)
D
0

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 /
Dewayne answered 29/3, 2022 at 4:40 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.