How to resolve “dyld: Library not loaded: @executable_path..” error

前端 未结 8 1787
傲寒
傲寒 2020-12-24 11:29

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 f         


        
相关标签:
8条回答
  • 2020-12-24 11:43

    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
    
    0 讨论(0)
  • 2020-12-24 11:43

    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.

    0 讨论(0)
  • 2020-12-24 11:47

    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
    
    0 讨论(0)
  • 2020-12-24 11:49

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

    0 讨论(0)
  • 2020-12-24 11:54

    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
      
    0 讨论(0)
  • 2020-12-24 12:00

    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 "                                                                    
    0 讨论(0)
提交回复
热议问题