Configurações de AWS CLI $ PATH

111

Estou seguindo o guia de configuração do AWS CLI . Consegui instalar com sucesso a ferramenta em meu terminal Mac OS X com a seguinte saída:

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

Meu problema é que preciso digitar o caminho completo /Users/fr/.local/lib/aws/bin/aws para executar qualquer comando aws . De acordo com a etapa final do guia, devo ser capaz de executar o comando aws diretamente sem digitar o caminho absoluto para que ele seja executado.

Quando tento usar apenas o aws , obtenho a seguinte saída:

aws --version                                                                                         ⏎
command not found: aws

Segui as instruções para ter certeza de que ~ / bin está em meu ambiente PATH e pude ver que não havia saída, portanto, executei o comando export PATH = ~ / bin: $ PATH para adicionar ~ / bin a $ PATH . Mas isso não fez diferença. O comando aws não funciona diretamente.

Alguém poderia aconselhar o que pode estar errado?

fr_muses
fonte

Respostas:

249

Aqui estão as três etapas para instalar o AWS cli no mac OSX (curl ou wget) A terceira etapa definirá seu caminho corretamente

$ 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

A outra maneira mais fácil é usar homebrew

brew install awscli

Se você quiser a versão de desenvolvimento, pode fazer

brew install awscli --HEAD
guru
fonte
63
brew install awsclifoi o caminho a percorrer para mim
Michael Guild
omg .. por meio de 1 hora tentando fazer o CLI funcionar, brew install awsclifuncionou como um encanto. Obrigado!
jdmdevdotnet
Obrigado! Brew falhou com um problema de permissão, Error: An unexpected error occurred during the 'brew link' stepmas o curl funcionou.
Jim Edelstein
brew install awscli é o mais simples
Jun711,
2
Observe o que afirma a documentação: Package managers such yum, apt-get, or Homebrew for macOS are often behind several versions of the AWS CLIportanto, certifique-se de verificar a versão após a instalação.
gatteo
58

Isso funcionou para mim (nota: mude 2.7 para sua versão específica do Python):

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

Você provavelmente vai querer adicionar isso ao final de seu .bash_profileuso:

sudo nano ~/.bash_profile
Willsquire
fonte
49

quando você executa o comando: pip3 install awscli --upgrade --user

observe de perto onde a ferramenta aws cli é instalada, você pode ver o caminho no log do terminal, no meu caso eu tenho algo assim:

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

Agora você deve adicionar ao seu .bash_profile o mesmo caminho, mas na pasta bin (removendo do caminho lib e, em vez disso, colocar o caminho bin) assim:

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

Juan Camilo Zapata
fonte
4
sua postagem me ajudou.
anujprashar
3
Isso fez o meu dia
Teja
1
No python 2.7, ele foi adicionado a ./Library/Python/2.7/bin
Tech Junkie
4
Melhor resposta para mim. Não adianta contornar um problema apenas usando cerveja. É muito melhor saber por que está quebrado! Obrigado Juan
Karl Taylor
43

Usei o Homebrew para instalar o AWS CLI e estou muito feliz com o resultado. Basta digitar:

$ brew install awscli

depois de instalar a cerveja.

Observe que na página de instalação do AWS CLI há a seguinte isenção de responsabilidade:

O pacote awscli pode estar disponível em repositórios para outros gerenciadores de pacotes como APT, yum e Homebrew, mas não é garantido que seja a versão mais recente.

Dito isso, não achei isso um problema, o awscli.rb foi atualizado com bastante frequência para corresponder aos lançamentos mais recentes.


Atualização: há um problema no GitHub que sugere que o Homebrew deve ser adicionado como uma alternativa nas instruções de instalação do AWS CLI. Este problema foi posteriormente resolvido em favor desta solicitação de recurso do UserVoice .

Matsev
fonte
10

Isso aconteceu comigo também e não queria mais instalar o brew, pois já estava tudo funcionando bem. Eu também segui o 'tutorial' no site da AWS e tive problemas na etapa do caminho de exportação.

Basicamente, ele adicionou uma pasta python diferente daquela em que o awscli foi baixado. Então, em vez do export PATH=~/.local/bin:$PATH que eles sugeriram, usei um caminho completo do disco: export PATH=/Users/abc/Library/Python/3.6/bin/:$PATH

Jaruss
fonte
8

Experimentar:

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

(coloque no arquivo .profile)

Tente também instalar o aws cli com homebrew. Ele irá adicioná-lo ao seu caminho automaticamente.

Nami
fonte
7

às vezes, enquanto os classpaths estão bagunçados no mac - você sempre pode executar para corrigir o aws cli localmente

$ brew install awscli

que reutilizaria e atualizaria o pacote existente e configuraria o classpath correto

Pravin
fonte
Funcionou para mim, obrigado :)
Salman Shahid
5

Acabei de ter o mesmo erro e consegui resolvê-lo adicionando a seguinte linha ao meu .bash_profilearquivo:

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

Verifique a versão do Python, pois pode ser um pouco diferente em seu sistema. Isso evita adicionar sua pasta de nome de usuário ao .bash_profilearquivo.

Piotr Berebecki
fonte
2

Se você tiver a versão Anaconda do python em seu sistema, use conda para instalar o awscli:

conda install -c conda-forge awscli
Duende
fonte
Isso funcionou para mim, mas não tenho certeza por quê. Meu ambiente conda foi desativado e usei pip3 como o comando de instalação, então esperava que conda não estivesse em cena. Você poderia explicar um pouco mais por que isso funciona?
DaveRGP
2

Certifique-se de que o python esteja instalado globalmente. As etapas são as seguintes:

No lado da AWS:

Vá para Amazon AWS center -> Serviços -> Gerenciamento de identidade e acesso (IAM) -> Usuários -> encontre seu usuário e clique nele -> selecione a guia Credenciais de segurança -> crie uma chave de acesso

Instalação: Na linha de comando / bash

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

Opcional : se a versão do aws ainda não foi encontrada, configure o caminho do aws em seu perfil do bash.

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

Configuração: (Etapa final) Configure suas credenciais da seguinte forma

aws configure

Preencha as propriedades que você obteve no site aws e conecte sua conta. anexando um exemplo para esta etapa.

AWS Access Key ID [Nenhum]: abcd

Chave de acesso secreto da AWS [Nenhum]: zyx123! @ #

Região padrão> nome [Nenhum]: us-east-1

Formato de saída padrão [Nenhum]: json

Boa sorte!

avivamg
fonte
1

Eu pessoalmente tive o mesmo problema com o aws CodeBuild - não conseguia usar o aws cli. Eu resolvi isso instalando o aws globalmente na imagem do docker (em vez de instalá-lo localmente para um usuário).

RUN pip install awscli --upgrade 

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

Funcionou para mim, se isso pode ajudar alguém!

Tibo
fonte
0

Acabei fazendo o mesmo que Piotr e é bom entender como atualizar seu caminho sem software de terceiros. No entanto, como o software de terceiros vai, o Homebrew é muito bom e é uma boa coisa usá-lo para manter seus links simbólicos de dependência controlados em um só lugar. de facto pkg mgr no mac.

Puckey
fonte
0

Dê uma olhada na nota em https://docs.aws.amazon.com/cli/latest/userguide/install-bundle.html

Por padrão, o script de instalação é executado na versão padrão do sistema do Python. Se você instalou uma versão alternativa do Python e deseja usá-la para instalar o AWS CLI, execute o script de instalação com essa versão pelo caminho absoluto para o executável Python.

Para a etapa em que você executa o executável de instalação

em vez de fazer apenas:

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

Descubra onde seu python está instalado, por exemplo

$ which python

e use o caminho para instalar o executável, como

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

O acima exposto deve resolver o problema.

Vredrav
fonte