Как устранить ошибку "dyld: Библиотека не загружена: @executable_path.."

Я пытался проверить версию AWS-CLI на моей MAC OS X. И произошла ошибка ниже:

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

Любые соответствующие материалы о том, как это исправить, будут высоко оценены.

12 ответов

Это ошибка в awscli, и она может быть исправлена ​​в следующих версиях. Вот почему лучшая практика заключается в обновлении:

brew upgrade awscli

Вы, должно быть, испортили варку. Попробуйте переустановить его, используя: brew install awscli (с последующим brew link awscli если нужно).

После прочтения темы у меня работает:

  1. Удалить aws
$ sudo rm -rf /usr/local/aws
$ sudo rm /usr/local/bin/aws
  1. Переустановите его снова
    $ brew reinstall awscli

Эта ошибка возникает из-за того, что в вашей виртуальной среде сломаны символические ссылки. Вот хорошее решение. https://gist.github.com/tevino/1a557a0c200d61d4e4fb

Также вот схожий вопрос: неработающие ссылки в Virtualenvs

Установил через 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

Если у вас уже есть 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
    

Я попробовал все вышеперечисленные решения, и ничего не сработало, затем я попробовал это с https://docs.aws.amazon.com/cli/v1/userguide/install-macos.html , и это сработало:
sudo /usr/local/bin/python3.7 awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

У меня была похожая проблема при установке awscli с homebrew на mac. Таким образом, последний подход был "brew uninstall python3" и переустановите awscli снова.

Эта ошибка может быть вызвана проблемой в вашем файле virtualenv. Например, у меня был существующий рабочий virtualenv, и я запустилbrew install awscliи с этой ошибкой он сломал мой virtualenv. Если это так, удаление и воссоздание вашего virtualenv (так же, как вы его изначально создавали) должно решить проблему. Это сработало для меня.

Эта работа для меня.

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

Если:

  • вы переустанавливали/переустанавливали awscli
  • и сталкиваетесь с этой проблемой, когда работаете с виртуальной средой Python Poetry .

Затем просто удалите env, например:

      # MacOS paths
rm -rf /Users/<user>/Library/Caches/pypoetry/virtualenvs/<your_virtual_env_name>

Чтобы получить имя и путь к env, вы можете сделать:

      poetry shell

Будет такая ошибка:

       EnvCommandError

  Command ['/Users/<user>/Library/Caches/pypoetry/virtualenvs/<your_virtual_env_name>/bin/python', '-W', 'ignore', '-'] ...

Скопируйте путь env, сделайте rm -rf <path>и после этого сделать poetry shell

Если вы установили AWS CLI через curl в соответствии с официальными инструкциями AWS по адресу https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html, просто повторите эти команды без каких-либо предварительных удалений. для меня:

      curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
sudo installer -pkg ./AWSCLIV2.pkg -target /
Другие вопросы по тегам