Aws-cli: Erreur de syntaxe non valide lors de l'exécution d'une commande AWS.

Créé le 20 sept. 2017  ·  9Commentaires  ·  Source: aws/aws-cli

Après avoir installé avec awscli avec pip et exécuté aws --version, ou toute autre commande aws, je reçois cette erreur :

/Utilisateurs//anaconda/lib/python3.6/site-packages/aws/main.py", ligne 23
print '%(name)s: %(endpoint)s' % {
^
ErreurDeSyntaxe: Syntaxe invalide

La fonction entière de cette erreur est la suivante :

def list_regions(service):
"""
Répertorier les régions pour le service
"""
pour la région dans service.regions() :
print '%(name)s: %(endpoint)s' % {
'nom' : région.nom,
'endpoint' : région.endpoint,
}

J'utilise un environnement anaconda, avec python 2.7. Cependant, il semble que main.py s'exécute sous python 3.6 à partir de l'erreur. J'ai également essayé d'installer et d'exécuter dans mon environnement habituel avec 3.6 et j'ai également eu la même erreur.

Commentaire le plus utile

Laisser ceci ici au cas où quelqu'un tomberait sur cela via google comme moi:

J'ai eu le même problème avec le même environnement (environnement anaconda avec python 3.6). Il s'agit en fait d'un package différent, nommé "aws" de manière confuse, qui génère l'erreur : https://github.com/eofs/aws

Assurez-vous d'exécuter pip install awscli , PAS pip install aws . Vous voudrez peut-être confirmer quel package "aws" vous appelez via which aws .

Tous les 9 commentaires

Je ne vois pas cette fonction list_regions dans la base de code. Cela semble être un code personnalisé quelconque.

Si vous utilisez Python 3, print doit avoir des parenthèses. Certains détails peuvent être trouvés dans cette réponse SO .

Cela semble être un problème avec autre chose que cette base de code. Le nom importable pour cet outil est awscli non aws

Laisser ceci ici au cas où quelqu'un tomberait sur cela via google comme moi:

J'ai eu le même problème avec le même environnement (environnement anaconda avec python 3.6). Il s'agit en fait d'un package différent, nommé "aws" de manière confuse, qui génère l'erreur : https://github.com/eofs/aws

Assurez-vous d'exécuter pip install awscli , PAS pip install aws . Vous voudrez peut-être confirmer quel package "aws" vous appelez via which aws .

Supprimez le package aws avec pip uninstall aws . Ensuite, installez awscli, pip install awscli .

eze1981, ça a marché. Merci mon pote :)

J'ai installé AWSCLI à l'aide de la commande pip install awscli mais j'ai toujours cette erreur. Il a été résolu après la mise à niveau de l'aws avec la commande pip install --upgrade awscli

J'ai dû faire un --force-reinstall après avoir oublié que j'avais déjà installé awscli , installer aws puis désinstaller aws . Cela a supprimé le binaire aws , d'où la nécessité du --force-reinstall

Dans mon cas, j'ai essayé toutes les options mises en surbrillance et cela a toujours entraîné la même erreur jusqu'à ce que je fasse ce qui suit :

  1. Trouvez le binaire aws installé which aws et rm le fichier.
  2. Suivez les étapes de @HUU et @eze1981

@HUU Merci mec, tu as sauvé ma journée 👍

Cette page vous a été utile?
0 / 5 - 0 notes