So beheben Sie den Fehler "dyld: Bibliothek nicht geladen: @executable_path .."


88

Ich habe versucht, die AWS-CLI-Version auf meinem MAC OS X zu überprüfen. Der folgende Fehler schlug zurück:

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

Alle relevanten Eingaben zur Behebung dieses Problems sind sehr willkommen.


11
Dieser Fehler kann auftreten, brew install some_packagewenn Sie sich in einer virtuellen Umgebung befinden. Ich denke, was passiert, ist, dass das Brauen seine Arbeit im VM erledigt. Deaktivieren Sie zur Behebung des Problems rm -rfIhre virtuelle Umgebung , Ihren Ordner für die virtuelle Umgebung. Dann bauen Sie es von Grund auf neu auf. Geben Sie dann einen lauten Kommentar ein, der besagt, dass Sie keine Installationssachen in einer virtuellen Umgebung brauen müssen.
Eric Leschinski

Wenn Sie es nicht von Grund auf neu erstellen möchten, folgen Sie diesem Link. Es hat bei mir funktioniert
PAC

Antworten:


78

Es ist ein Fehler mit awscli und kann mit den nächsten Versionen behoben werden. Aus diesem Grund empfiehlt es sich, ein Upgrade durchzuführen:

brew upgrade awscli

12
Wenn Sie einen defekten Symlink haben, funktioniert dies nicht. es wird dir sagen, dass awscli nicht installiert ist und du am Ende laufen musst brew link --overwrite awscliund das hat bei mir funktioniert. Ich habe gestimmt, weil es ein Start auf dem richtigen Weg war.
str8up7od

Wenn Sie den Anweisungen auf der AWS CLI-Seite folgen, funktioniert dies nicht. Docs.aws.amazon.com/cli/latest/userguide/install-macos.html
jcollum

1
Einen ähnlichen Hinweis für diejenigen, die auf ein ähnliches Problem stoßen eb, können Sie ausführen brew upgrade aws-elasticbeanstalk.
Sean Chon

Ich habe zum Beispiel kein Aswcli
Atombit

33

Sie müssen mit dem Gebräu durcheinander gebracht haben. Versuchen Sie, es erneut zu installieren, indem Sie: brew install awscli( brew link awsclibei Bedarf gefolgt von ).


Dies nicht, auch aufgrund dieses Fehlers:Error: awscli 1.14.60 is already installed
Axel

16

Dieser Fehler tritt auf, weil Ihre virtuelle Umgebung Symlinks unterbrochen hat. Hier ist eine schöne Lösung aus Tevinos fix_virtualenvKern :

#!/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

Auch hier ist eine ähnliche Frage: Defekte Referenzen in Virtualenvs .


Erstaunlich, dies hat mein Problem sofort
behoben

Wie läuft man das ab?
Yokhen

3
Zusammenfassung der Lösung: 1) Löschen Sie alle Symlinks in Ihrer virtuellen Umgebung, indem find your-virtual-env-directory -type l -deleteSie virtualenv your-virtual-env-directory
ausführen.

Ich erhalte die Fehlermeldung, OSError: Command /Users/defaultuser/D...o/venv/bin/python3.7 - setuptools pip wheel failed with error code -6wenn ich den Befehl ausführe $SYSTEM_VIRTUALENV "$ENV_PATH". Keine Ahnung, was ist Fehlercode "-6"
Jerrymouse

Benutze es nicht! Es hat alle meine wichtigen Symlinks im Home-Verzeichnis gelöscht. und keine neuen erstellt. Stattdessen gab es eine
Fehlerzeile

12

Nach dem Lesen des Themas funktioniert es für mich:

  1. Deinstallieren Sie aws
$ sudo rm -rf /usr/local/aws
$ sudo rm /usr/local/bin/aws
  1. Installieren Sie es erneut
    $ brew reinstall awscli

4
Das gleiche Problem, alles was ich getan habe war brew reinstall awscliund es wurde behoben. Danke
Jordon Biondo

2

Ich hatte ein ähnliches Problem bei der Installation von awscli mit Homebrew auf dem Mac. Der letzte Ansatz war also "python3 brauen, deinstallieren" und awscli erneut installieren.


2

Wenn Sie bereits Python haben ( Python - Version funktioniert. Wenn nicht, installieren Sie es mit Brew, installieren Sie Python ). Für mich geht das:

  1. Deinstallieren Sie aws

    $ sudo rm -rf /usr/local/aws
    $ sudo rm /usr/local/bin/aws
    
  2. Installieren Sie es erneut

    $ 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
    

2

Ich hatte es auf normale Weise durch Locken installiert

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

Dann funktionierte es nicht mehr und beschwerte sich, dass es nicht gefunden wurde python2.7

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

Also habe ich es behoben, indem ich die folgenden Schritte ausgeführt habe (stellen Sie sicher, dass Sie dies nicht tun, wenn Sie es über installiert haben brew):

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

Dann habe ich es mit Brew installiert:

$ brew upgrade
$ brew install awscli

2

Es ist möglich, diesen Fehler durch ein Problem in Ihrer virtuellen Umgebung auszulösen. Zum Beispiel hatte ich eine vorhandene funktionierende virtuelle Umgebung und lief brew install awscliund es brach meine virtuelle Umgebung mit diesem Fehler. In diesem Fall sollte das Problem durch Löschen und Neuerstellen Ihrer virtuellen Umgebung (auf die gleiche Weise, wie Sie sie ursprünglich erstellt haben) behoben werden. Es hat für mich getan.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.