WebHU - Programozási kérdések és válaszok

Az AWSCLI telepítése sikeres volt Mac rendszeren, majd a bash parancsok sikertelenek

Az AWSCLI-t próbálom telepíteni a Mac gépemre (OS 10.14).

Először is, az egyik első dolog, amit ezzel a Mac géppel csináltam, az volt, hogy követtem ezeket utasításokat a Python frissítéséhez, így a Python rendszerem immár 3.7.1 (azaz ezt adja vissza, amikor beírom a python --version értéket).

Lépések, amelyeket megtettem:

Ami az awscli-t illeti, először egyszerűen pip install awscli --upgrade --user próbálkoztam az AWS-dokumentumok alapján itt. Ez sikeres volt, de az olyan bash parancsok, mint a aws configure és aws --version, a -bash: aws: command not found választ eredményezték.

Tehát lefutottam a pip uninstall awscli-ot abban a reményben, hogy kipróbálok egy másik módszert. Ezután követtem ezeket a utasításokat a csomagban történő telepítéshez. A telepítés ismét sikeres volt, és a aws parancs ismét nem található.

Az itt közzétett útmutatás alapján megpróbáltam hozzáadni a export PATH=~/Library/Python/3.7/bin/:$PATH értéket a .profile-hez, de ez nem működött. bármelyik. (Megpróbáltam az alapértelmezett export PATH felülírását és a fentiek külön sorként való hozzáadását – egyik sem működött.)

Lehetséges kiváltó ok:

Van egy alias a aws-hez a /usr/local/bin-ban, de amikor az "eredeti megjelenítése" gombra kattintok, a original item cannot be found hibaüzenet jelenik meg. Feltételezem, hogy a megoldás ennek az álnévnek a kijavításában rejlik, de nem tudom, mire kell mutatnia.

Segítségüket előre is köszönöm.

SZERKESZTÉS: Ez a kérdés hasonló a itt, azonban a probléma akkor is fennáll, ha nem a pip install --user használatával, hanem az AWS mellékelt telepítőjét használja.


  • Ha nem használ virtuális környezetet, erősen ajánlom a pip telepített modulok kezelésére. A pyenv-t használom, amely több Python-verzió kezelését is lehetővé teszi, ha szeretné. 18.01.2019
  • A Python console_scripts lehetséges másolata nem működik pip telepítéskor -- felhasználó 18.01.2019
  • stackoverflow.com/ 18.01.2019
  • Nem használok virtuális környezetet, köszönöm a javaslatot @Toby. 18.01.2019
  • Ez nagyon hasonlít ahhoz a problémához, @phd, de az elfogadott válasz számomra nem működik (maga a válasz is hasonló ahhoz a linkhez, amelyet közzétettem fent ). Mindenesetre szívesen áthelyezem a beszélgetést, hogy csökkentsem a zűrzavart, de úgy érzem, a közösség számára értékes lehet, ha ezt a kérdést külön, awscli-specifikusan megfogalmazva. 18.01.2019
  • Ha a /usr/local/bin/aws egy hibás szimbolikus hivatkozás, egyszerűen eltávolítja a hibát. Mielőtt azonban bármi ilyesmit tenne, mi a ls -l kimenete azon a fájlon? Továbbá, hol van a /usr/local/bin a PATH-en belül? 18.01.2019
  • A ls -l on aws eredménye /usr/local/aws/bin/aws, amely megerősítettem, hogy nem létezik. A .profile-ben két állításom van: export PATH="/usr/local/opt/python/libexec/bin:$PATH" és export PATH=~/.local/bin:$PATH. Az előbbit a python3.7-re frissítve adtam hozzá (követve ezeket az utasításokat) ; az utóbbit az awscli probléma hibaelhárításaként adtam hozzá (a ezt követően útmutatás). 18.01.2019
  • Tehát ha a /usr/local/bin minden olyan hely előtt van, amely érvényes aws parancsot tartalmaz, akkor a meghívása sikertelen lesz mindaddig, amíg el nem távolítja a hibás szimbolikus hivatkozást, vagy át nem rendezi a PATH-t. 18.01.2019
  • Az a tény, hogy a fájl, amelyre a szimbolikus hivatkozásnak kell mutatnia, nem létezik, arra késztet, hogy azt gondoljam, hogy ez végül is probléma a telepítéssel. Ez helytelen? Ettől függetlenül, mivel a fájl nem létezik, mit javítana a szimbolikus hivatkozás eltávolítása? (Eltávolítottam az álnevet, a cmd továbbra sem működik.) És végül, ez feszegeti tudásom határait a PATH-emről, szóval bocsáss meg, de megpróbáltam újrarendezni a két fent említett állítást; ez nem működött. Megpróbáltam hozzáadni a export PATH=/usr/local/bin:$PATH állítást, és mindhárom állítást áthelyezni (teljesen szeszélyből), sikertelenül. 18.01.2019
  • Gondolom egy korábbi próbálkozás telepítette, aztán elfelejtettem eltávolítani. A type -all aws megmutatja, hogy telepítve van-e valahol a PATH-ban. Ha a teljes elérési út névvel való hívás sikeres, helyezze át azt a könyvtárat a PATH elejére, vagy távolítsa el a szimbolikus hivatkozást, hogy megakadályozza, hogy árnyékolja ezt a helyet, vagy (ha ez egy rendszerhely, nem a kezdőkönyvtárban) cserélje ki a szimbolikus hivatkozást a pontra erre a helyre. 19.01.2019

Új anyagok

A rádiógomb ellenőrzött eseményének használata a jQueryben
Ebben a cikkben látni fogjuk, hogyan kell dolgozni a jquery választógombbal ellenőrzött eseményeivel. A választógombok HTML gombok, amelyek segítenek kiválasztani egyetlen értéket egy csoportból...

Körkörös függőségek megoldása terraformban adatforrásokkal – lépésről lépésre
Mi az a körkörös függőségek Dolgozzunk egy egyszerű eseten, amikor az SQS-sor és az S3-vödör közötti körkörös függőség problémája van egy egymástól függő címkeérték miatt. provider..

Miért érdemes elkezdeni a kódolást 2023-ban?
01100011 01101111 01100100 01100101 — beep boop beep boop Világunk folyamatosan fejlődik a technológia körül, és naponta fejlesztenek új technológiákat a valós problémák megoldására. Amint..

🎙 Random Noise #2  – Örökbefogadás és hit
az analitika íratlan világának gondozása Szeretné, hogy ezek a frissítések a postaládájába kerüljenek? Iratkozzon fel itt . "Ha önvezető autókat gyártanak, akkor mi miért ne..

A legrosszabb politika és prediktív modellek májátültetésre jelöltek számára az Egyesült Államokban
A máj (vagy óangolul lifer) az emberi test legnehezebb belső szervére utal, amely csendesen működik a nap 24 órájában. Mit csinál a máj? 500 feladatot hajt végre a szervezet egészségének..

5 webhely, amely 2022-ben fejleszti front-end fejlesztői készségeit
Frontendmentor.io A tényleges projektek létrehozásával a Frontendmentor.io segítséget nyújt a front-end kódolási képességeinek fejlesztésében. A kódolást azután kezdheti meg, hogy..

Mikor kell használni a Type-t az interfészhez képest a TypeScriptben?
A TypeScript a JavaScript gépelt szuperkészlete, amely statikus gépelést ad a nyelvhez. Ez megkönnyíti a robusztus és karbantartható kód írását azáltal, hogy a hibákat a fordítási időben..