"Dyld: Kitaplık yüklenmedi: @executable_path .." hatası nasıl çözülür


98

MAC OS X'imde AWS-CLI sürümünü kontrol etmeye çalışıyordum. Ve aşağıdaki hata geri döndü:

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

Bunun nasıl düzeltileceğiyle ilgili herhangi bir girdi çok takdir edilecektir.


11
Bu hata, brew install some_packagesiz bir virtualenv içindeyken ortaya çıkabilir . Bence olan şey, brew işini vm içinde yapıyor. Düzeltmek için, rm -rfsanal ortam klasörünüz olan virtualenv'den devre dışı bırakın . Ardından sıfırdan yeniden inşa edin. Ardından, sanal bir ortamda yüklemeyi bir araya getirmeyin diyen yüksek sesle bir yorum yapın.
Eric Leschinski

Sıfırdan yeniden inşa etmek istemiyorsanız bu bağlantıyı takip edin Benim için çalıştı
PAC

Yanıtlar:


79

Bu, awscli ile ilgili bir hatadır ve sonraki sürümlerde düzeltilebilir. Bu nedenle, en iyi uygulamalar şunları yükseltmektir:

brew upgrade awscli

12
Kırık bir sembolik bağlantınız varsa bu çalışmayacaktır. size awscli'nin kurulu olmadığını söyleyecektir ve sonunda çalıştırmak zorunda kalacaksınız brew link --overwrite awsclive bu benim için çalıştı. Olumlu oy verdim çünkü doğru yolda bir başlangıçtı.
str8up7od

AWS CLI sayfasındaki talimatları uygularsanız, bu çalışmayacaktır docs.aws.amazon.com/cli/latest/userguide/install-macos.html
jcollum

1
Benzer bir sorunla karşılaşanlar için benzer bir notu ebçalıştırabilirsiniz brew upgrade aws-elasticbeanstalk.
Sean Chon

1
Aswcli yok, örneğin
Atombit

Bu hatayı alıyorum ve aws-cli'ye bağlı değilim. Dizüstü bilgisayarımda birden fazla virtualenv çalıştırıyorum ve python3'üm kısa süre önce 3.7'den 3.9'a yükseltildi
Rohit Chatterjee

33

İçkiyi mahvetmiş olmalısın. Şunları kullanarak yeniden yüklemeyi deneyin: brew install awscli( brew link awscligerekirse ardından da ).


Bu, aynı zamanda şu hata nedeniyle olmadı:Error: awscli 1.14.60 is already installed
axel

17

Bu hata, sanal ortamınızda sembolik bağların kopması nedeniyle oluşur. İşte alınan güzel çözümdür tevino en fix_virtualenvözünden :

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

Ayrıca, işte benzer bir soru: Virtualenv'lerdeki bozuk referanslar .


Şaşırtıcı, bu sorunumu hemen çözdü
Our_Benefactors

Bu nasıl çalıştırılır?
Yokhen

3
Çözümün özeti: 1) Çalıştırarak sanal ortamınızdaki tüm sembolik bağları silin find your-virtual-env-directory -type l -delete2) Çalıştırarak sanal ortamınızdaki sembolik bağları yeniden oluşturunvirtualenv your-virtual-env-directory
alejandro

OSError: Command /Users/defaultuser/D...o/venv/bin/python3.7 - setuptools pip wheel failed with error code -6Komutu çalıştırdığımda hata alıyorum $SYSTEM_VIRTUALENV "$ENV_PATH". "-6" hata kodunun ne olduğu hakkında hiçbir fikrim yok
jerrymouse

Kullanmayın! Ana dizindeki tüm önemli sembolik bağlantılarımı sildi. ve yenilerini yaratmadı. Bunun yerine bir hata satırı 24:.: Dosya adı bağımsız değişkeni gerekli
Atombit

14

Konuyu okuduktan sonra benim için çalışıyor:

  1. Aws'yi kaldır
$ sudo rm -rf /usr/local/aws
$ sudo rm /usr/local/bin/aws
  1. Tekrar kurun
    $ brew reinstall awscli

5
Aynı sorun, yaptığım tek şeydi brew reinstall awsclive düzeltildi. Teşekkürler
Jordon Biondo

2

Mac'te homebrew ile awscli'yi kurarken benzer bir sorun yaşadım. Son yaklaşım "brew uninstall python3" ve awscli'yi yeniden yeniden yüklemekti.


2

Zaten python'unuz varsa ( python --version çalışır. Eğer onu brew ile kurmazsanız python kurun ). Benim için çalışıyor:

  1. Aws'yi kaldır

    $ sudo rm -rf /usr/local/aws
    $ sudo rm /usr/local/bin/aws
    
  2. Tekrar kurun

    $ 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

Onu curl ile normal şekilde kurdurttum

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

Sonra bulamamaktan şikayet ederek çalışmayı bıraktı python2.7

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

bu yüzden aşağıdaki adımları izleyerek düzelttim (eğer yüklediyseniz bunu yapmadığınızdan emin olun brew):

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

Sonra onu brew kullanarak kurdum:

$ brew upgrade
$ brew install awscli

2

Virtualenv'inizde bir sorun yaşayarak bu hatayı tetiklemeniz mümkündür. Örneğin, mevcut bir çalışan virtualenv'im vardı ve çalıştırdım brew install awsclive bu hata ile virtualenv'imi bozdu. Durum buysa, virtualenv'inizi silip yeniden oluşturmak (başlangıçta oluşturduğunuz şekilde) sorunu çözmelidir. Benim için yaptı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.