[英]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 中损坏的引用。
阅读主题后,它对我有用:
$ sudo rm -rf /usr/local/aws
$ sudo rm /usr/local/bin/aws
$ brew reinstall awscli
我在 mac 上使用自制软件安装 awscli 时遇到了类似的问题。 所以最后的方法是“brew uninstall python3”并再次重新安装awscli。
如果你已经有 python ( python --version工作。如果没有安装它brew install python )。 这个对我有用:
卸载 aws
$ sudo rm -rf /usr/local/aws $ sudo rm /usr/local/bin/aws
重新安装
$ 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.