Aws-cli: Erro de sintaxe inválido ao executar qualquer comando da AWS.

Criado em 20 set. 2017  ·  9Comentários  ·  Fonte: aws/aws-cli

Depois de instalar com awscli com pip e executar aws --version, ou qualquer outro comando aws, recebo este erro:

/Comercial//anaconda/lib/python3.6/site-packages/aws/main.py", linha 23
print '%(name)s: %(endpoint)s' % {
^
SyntaxError: sintaxe inválida

A função inteira desse erro é a seguinte:

def list_regions(serviço):
"""
Listar regiões para o serviço
"""
para região em service.regions():
print '%(name)s: %(endpoint)s' % {
'nome': região.nome,
'endpoint': region.endpoint,
}

Estou usando um ambiente anaconda, com python 2.7. No entanto, parece que main.py está sendo executado em python 3.6 a partir do erro. Eu também tentei instalar e executar no meu ambiente regular com 3.6 e também tive o mesmo erro.

Comentários muito úteis

Deixando isso aqui caso alguém se depare com isso via google como eu:

Eu tive o mesmo problema com o mesmo ambiente (ambiente anaconda com python 3.6). Na verdade, este é um pacote diferente, chamado de forma confusa "aws", que está lançando o erro: https://github.com/eofs/aws

Certifique-se de executar pip install awscli , NÃO pip install aws . Você pode querer confirmar qual pacote "aws" você está chamando via which aws .

Todos 9 comentários

Não vejo essa função list_regions na base de código. Isso parece ser algum tipo de código personalizado.

Se você está atingindo o python 3, print precisa ter parênteses. Alguns detalhes podem ser encontrados nesta resposta do SO .

Isso parece ser um problema com algo diferente dessa base de código. O nome importável para esta ferramenta é awscli não aws

Deixando isso aqui caso alguém se depare com isso via google como eu:

Eu tive o mesmo problema com o mesmo ambiente (ambiente anaconda com python 3.6). Na verdade, este é um pacote diferente, chamado de forma confusa "aws", que está lançando o erro: https://github.com/eofs/aws

Certifique-se de executar pip install awscli , NÃO pip install aws . Você pode querer confirmar qual pacote "aws" você está chamando via which aws .

Remova o pacote aws com pip uninstall aws . Em seguida, instale o awscli, pip install awscli .

eze1981, que funcionou. Valeu cara :)

Instalei o AWSCLI usando o comando pip install awscli, mas ainda recebi esse erro. Foi resolvido após atualizar o aws com o comando pip install --upgrade awscli

Tive que fazer um --force-reinstall depois de esquecer que já tinha awscli instalado, instalando aws e depois desinstalando aws . Isso removeu o binário aws , daí a necessidade do --force-reinstall

No meu caso, tentei todas as opções destacadas e ainda resultou no mesmo erro até que fiz o seguinte:

  1. Encontre o binário aws instalado which aws e rm o arquivo.
  2. Siga os passos de @HUU e @eze1981

@HUU Obrigado cara, você salvou meu dia 👍

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

hydrajump picture hydrajump  ·  42Comentários

ChrisSLT picture ChrisSLT  ·  87Comentários

webdigi picture webdigi  ·  44Comentários

jamesls picture jamesls  ·  41Comentários

moldstadt picture moldstadt  ·  50Comentários