繁体   English   中英

如何解决“dyld:库未加载:@executable_path ..”错误

[英]How to resolve "dyld: Library not loaded: @executable_path.." error

我试图在我的 MAC OS X 上检查 AWS-CLI 版本。并且出现以下错误:

dyld: Library not loaded: @executable_path/../.Python
  Referenced from: /usr/local/aws/bin/python
  Reason: image not found
Abort trap: 6

任何有关如何解决此问题的相关意见将不胜感激。

这是 awscli 的一个错误,可能会在下一个版本中修复。 这就是为什么,最佳实践是升级:

brew upgrade awscli

你一定搞砸了酿造。 尝试使用以下命令重新安装它: brew install awscli (如果需要,可以使用brew link awscli )。

出现此错误是因为您的虚拟环境已损坏符号链接。 这是从tevino 的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

另外,这里有一个类似的问题: 在 Virtualenvs 中损坏的引用

阅读主题后,它对我有用:

  1. 卸载 aws
$ sudo rm -rf /usr/local/aws
$ sudo rm /usr/local/bin/aws
  1. 重新安装一遍
    $ brew reinstall awscli

我在 mac 上使用自制软件安装 awscli 时遇到了类似的问题。 所以最后的方法是“brew uninstall python3”并再次重新安装awscli。

如果你已经有 python ( python --version工作。如果没有安装它brew install python )。 这个对我有用:

  1. 卸载 aws

     $ sudo rm -rf /usr/local/aws $ sudo rm /usr/local/bin/aws
  2. 重新安装

    $ 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

我通过常规方式通过 curl 安装了它

$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"

然后它停止工作,抱怨找不到python2.7

dyld: Library not loaded: @executable_path/../.Python
  Referenced from: /usr/local/aws/bin/python2.7
  Reason: image not found
Abort trap: 6

所以我按照以下步骤修复了它(如果你通过brew安装它,请确保你不要这样做):

$ sudo rm -rf /usr/local/aws
$ sudo rm /usr/local/bin/aws

然后我使用 brew 安装它:

$ brew upgrade
$ brew install awscli

如果您的 virtualenv 出现问题,可能会触发此错误。 例如,我有一个现有的工作 virtualenv 并运行brew install awscli并且它因此错误破坏了我的 virtualenv。 如果是这种情况,删除并重新创建您的 virtualenv(与您最初创建它的方式相同)应该可以解决问题。 它对我有用。

这对我有用。

brew upgrade
brew uninstall aws-sam-cli
brew install aws-sam-cli

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM