Параметры 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.