Параметры AWS CLI $ PATH


113

Я следую руководству по настройке AWS CLI . Мне удалось успешно установить инструмент на мой терминал Mac OS X со следующим выводом:

Running cmd: /usr/bin/python virtualenv.py --python /usr/bin/python /Users/fr/.local/lib/aws
Running cmd: /Users/fr/.local/lib/aws/bin/pip install --no-index --find-links file:///Users/fr/Downloads/awscli-bundle/packages awscli-1.5.3.tar.gz
You can now run: /Users/fr/.local/lib/aws/bin/aws --version

Моя проблема в том, что мне нужно ввести полный путь /Users/fr/.local/lib/aws/bin/aws для выполнения любой команды aws . В соответствии с последним шагом руководства я должен иметь возможность выполнять команду aws напрямую, не вводя абсолютный путь для ее выполнения.

Когда я пытаюсь использовать только aws , я получаю следующий результат:

aws --version                                                                                         ⏎
command not found: aws

Я выполнил инструкции, чтобы убедиться, что ~ / bin находится в моей среде PATH, и я увидел, что вывода нет, поэтому я выполнил команду export PATH = ~ / bin: $ PATH, чтобы добавить ~ / bin в $ PATH . Но это не имело значения. Команда aws не работает напрямую.

Может ли кто-нибудь посоветовать, что может быть не так?

Ответы:


250

Вот три шага по установке AWS cli на Mac OSX (curl или wget). На третьем шаге путь будет установлен правильно.

$ 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

Другой простой способ - использовать домашнее пиво.

brew install awscli

Если вам нужна версия для разработки, вы можете сделать

brew install awscli --HEAD

63
brew install awscliбыл путь для меня
Майкл Гилд

омг .. примерно через час попыток заставить cli работать, brew install awscliработало как шарм. Спасибо!
jdmdevdotnet 01

Спасибо! Brew не удалось из-за проблемы с разрешениями, Error: An unexpected error occurred during the 'brew link' stepно curl работал.
Джим Эдельштейн

brew install awscli - самый простой
способ

2
Обратите внимание на то, что указано в документации: Package managers such yum, apt-get, or Homebrew for macOS are often behind several versions of the AWS CLIпоэтому обязательно проверьте версию после установки.
gatteo

59

Это сработало для меня (примечание: измените 2.7 на вашу конкретную версию Python):

export PATH=~/Library/Python/2.7/bin/:$PATH

Скорее всего, вы захотите добавить это в конце своего .bash_profileиспользования:

sudo nano ~/.bash_profile

49

при запуске команды: pip3 install awscli --upgrade --user

внимательно посмотрите, где устанавливается инструмент aws cli, вы можете увидеть путь в журнале терминала, в моем случае я получил что-то вроде этого:

awscli in ./Library/Python/3.6/lib/python/site-packages

Теперь вы должны добавить в свой .bash_profile тот же путь, но в папке bin (удалив из пути lib и вместо этого поместив свой путь bin), например:

export PATH=/Users/xuser/Library/Python/3.6/bin/:$PATH


4
твой пост мне помог.
anujprashar

3
Это сделало мой день
Teja

1
На python 2.7 он был добавлен в ./Library/Python/2.7/bin
Tech Junkie

4
Лучший ответ для меня. Нет смысла решать проблему, просто используя варево. Намного лучше знать, почему он сломан! Спасибо Хуан
Карл Тейлор

43

Я использовал Homebrew для установки AWS CLI и вполне доволен результатом. Просто введите:

$ brew install awscli

после того, как вы установили brew.

Обратите внимание, что на странице установки AWS CLI есть следующий отказ от ответственности:

Пакет awscli может быть доступен в репозиториях для других менеджеров пакетов, таких как APT, yum и Homebrew, но не гарантируется, что это последняя версия.

Тем не менее, я не обнаружил, что это проблема, файл awscli.rb обновлялся довольно часто, чтобы соответствовать последним выпускам.


Обновление: существует проблема с GitHub, из-за которой предлагается добавить Homebrew в качестве альтернативы в инструкции по установке AWS CLI. Позднее этот вопрос был закрыт в пользу этого запроса функции UserVoice .


10

Это случилось и со мной, и я больше не хотел устанавливать brew, потому что все уже работало нормально. Я также следил за «учебником» на сайте AWS, и у меня возникла проблема на этапе экспорта.

По сути, он добавил другую папку python, в которую был загружен awscli. Поэтому вместо того, export PATH=~/.local/bin:$PATH что они предложили, я использовал полный путь с диска: export PATH=/Users/abc/Library/Python/3.6/bin/:$PATH


8

Пытаться:

PATH=/Users/fr/.local/lib/aws/bin:$PATH 

(поместите его в файл .profile)

Также попробуйте установить aws cli с помощью homebrew. Он автоматически добавит его к вашему пути.


7

иногда, когда пути к классам на Mac перепутались - вы всегда можете запустить, чтобы исправить aws cli локально

$ brew install awscli

который будет повторно использовать и обновлять существующий пакет и настраивать правильный путь к классам


Сработало для меня Спасибо :)
Салман Шахид

5

У меня была такая же ошибка, и я смог ее решить, добавив в свой .bash_profileфайл следующую строку :

export PATH=~/Library/Python/2.7/bin/:$PATH

Пожалуйста, проверьте версию Python, так как она может немного отличаться в вашей системе. Это позволяет избежать добавления папки с вашим именем пользователя в .bash_profileфайл.


2

Если в вашей системе установлена ​​версия Python для Anaconda, используйте conda для установки awscli:

conda install -c conda-forge awscli

Это сработало для меня, но я не уверен, почему. Моя среда conda была деактивирована, и я использовал pip3 в качестве команды установки, поэтому я ожидал, что conda вообще не будет на картинке. Не могли бы вы подробнее объяснить, почему это работает?
DaveRGP

2

Убедитесь, что python установлен глобально, шаги такие:

На стороне AWS:

Перейдите в Amazon AWS center -> Services -> Identity and Access Management (IAM) -> Users -> найдите своего пользователя и щелкните по нему -> выберите вкладку Security Credentials -> создать ключ доступа

Установка: в командной строке / bash

curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install

Необязательно : если версия aws еще не найдена, настройте путь aws в своем профиле bash.

vim ~/.bash_profile
#paste this line
PATH=$PATH:/usr/local/bin/aws

Конфигурация: (последний шаг) Настройте свои учетные данные следующим образом

aws configure

Заполните свойства, которые вы получили с сайта AWS, и подключите свою учетную запись. прилагаю пример для этого шага.

Идентификатор ключа доступа AWS [Нет]: abcd

Ключ доступа к AWS Secret [Нет]: zyx123! @ #

Регион по умолчанию> имя [Нет]: us-east-1

Формат вывода по умолчанию [Нет]: json

Удачи!


1

У меня лично была такая же проблема с aws CodeBuild - я не мог использовать aws cli. Я решил это, установив aws глобально на свой образ докера (вместо того, чтобы устанавливать его локально пользователю).

RUN pip install awscli --upgrade 

(instead of RUN pip install awscli --upgrade --user)

Это сработало для меня, если это может кому-то помочь!


0

В итоге я сделал то же самое, что и Петр, и хорошо понимать, как обновить ваш путь без стороннего программного обеспечения. Однако с появлением стороннего программного обеспечения Homebrew становится довольно крутым, и его хорошо использовать для хранения ваших символьных ссылок в одном месте. de facto pkg mgr на Mac.



0

Взгляните на заметку на https://docs.aws.amazon.com/cli/latest/userguide/install-bundle.html.

По умолчанию сценарий установки запускается под системной версией Python по умолчанию. Если вы установили альтернативную версию Python и хотите использовать ее для установки AWS CLI, запустите сценарий установки с этой версией по абсолютному пути к исполняемому файлу Python.

Для шага, на котором вы запускаете исполняемый файл установки

вместо того, чтобы просто:

$ sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

Узнайте, где установлен ваш питон, например

$ which python

а затем используйте путь для установки исполняемого файла, например

$ sudo <path from executing which python> awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws

Вышеупомянутое должно решить проблему.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.