Aws-cli: Installer aws-cli en utilisant Homebrew

Créé le 29 mars 2014  ·  42Commentaires  ·  Source: aws/aws-cli

Ma formule awscli a été fusionnée et est officiellement disponible avec Homebrew .

Il serait utile d'ajouter Homebrew comme option d'installation dans le README.

Comme suggestion quelque chose comme ça,

Homebrew sur Mac OS X

aws-cli peut également être installé à l'aide du gestionnaire de packages Homebrew sur Mac OS X :

brew install awscli

Si vous voulez la version de développement d'aws-cli :

brew install awscli --HEAD

Après l'installation, brew fournira des instructions pour l'achèvement de l'installation et où trouver les exemples sur la façon d'utiliser aws-cli.

feature-request installation

Commentaire le plus utile

D'accord. Homebrew fait appel à un public beaucoup plus large que pip.

Tous les 42 commentaires

D'accord. Homebrew fait appel à un public beaucoup plus large que pip.

L'historique des versions est assez bon mais reste un peu inégal. https://github.com/Homebrew/homebrew/commits/master/Library/Formula/awscli.rb

Cela devrait être officialisé

Est-ce que quelqu'un sait comment utiliser pip pour installer awscli après avoir installé Python avec Homebrew ? Il semble que les fichiers de chemin se trompent quelque part car il recherche l'exécutable aws-cli dans /usr/local/bin/ mais si vous le faites

sudo pip install awscli 

qui le place dans /usr/bin/ à la place. J'ai l'erreur suivante :

Traceback (most recent call last):
   File "/usr/local/bin/aws", line 15, in <module>
   import awscli.clidriver
ImportError: No module named awscli.clidriver

Je cherche juste des informations générales si quelqu'un n'a pas d'objection à répondre.

Que peut faire l'équipe AWS CLI, le cas échéant, pour s'assurer que nous synchronisons les versions homebrew avec les dernières versions CLI ? Nous publions généralement 1 à 2 fois par semaine. Si nous soutenons officiellement cela, nous devrons nous assurer que nous pouvons avoir la même cadence de publication que nos autres canaux de publication normaux (pip, installateur groupé, MSI).

Et si je me souviens bien, il va y avoir un certain retard, quoi qu'il en soit, car le PR pour les versions CLI mises à jour doit toujours être fusionné dans la branche principale d'homebrew à chaque version correcte?

Encore une fois, j'essaie juste d'avoir une idée de ce qui est impliqué.

@ iz2140 Je vérifierais quel pip vous utilisez. Si vous installez Python avec Homebrew, vous devriez avoir pip installé sur /usr/local/bin/pip . Cela devrait installer l'AWS CLI dans /usr/local/bin/ .

@jamesls J'ai fini par désinstaller AWSCLI à l'aide de pip et réinstaller avec Homebrew et tout s'est bien passé. Merci quand même!

J'aimerais aussi voir une option d'installation officielle de Homebrew.

Si cela ne dérange pas quelqu'un de répondre à certaines des questions que j'ai posées ici , nous pouvons explorer cette option plus en détail. Marquage en tant que demande de fonctionnalité pour le moment.

Le processus de contribution d'Homebrew est expliqué ici : https://github.com/Homebrew/homebrew/blob/master/CONTRIBUTING.md

Je m'attendrais à ce qu'un dialogue avec l'équipe Homebrew après une demande d'extraction soit le meilleur endroit pour traiter vos questions de timing.

Étant donné que j'exécute la même version d'aws-cli de Homebrew, je ne suis pas sûr d'avoir besoin de plus qu'une mise à jour hebdomadaire.

Cogner

@jamesls merci d'avoir répondu. Je pense avoir trouvé des réponses à tes questions.

Pour une synchronisation quasi instantanée, utilisez simplement une URL, par exemple :

brew install https://s3.amazonaws.com/homebrew/formulae/aws-cli.rb

Exécutez man brew pour afficher la page de manuel brew(1) et consultez SPECIFYING FORMULAS .

Sinon, oui, il y aura probablement un certain retard : selon Comment ouvrir une demande de tirage Homebrew (et la fusionner) , "[les responsables de Homebrew] répondent généralement à tous les PR en quelques jours."

Remarque : si vous choisissez d'ajouter une nouvelle formule à Homebrew Core , nommez la formule aws-cli , et non awscli , car elle s'appelle aws-cli sur Github et Homebrew Formula Cookbook: A Quick Le mot sur la dénomination dit : « Nommez la formule comme le projet commercialise le produit. C'est donc pig-config , pas pkgconfig ; sdl_mixer , pas ssl-mixer ou sdlmixer ." Il en va de même pour le nom du package pip. Voir #2090.

Vous trouverez ci-dessous quelques autres liens que j'ai trouvés qui documentent comment créer et mettre à jour une formule Homebrew.

Cela répond-t-il à vos questions?

Meilleurs voeux et bonne chance pour soutenir officiellement l'installation d'AWS CLI via Homebrew !

Si vous avez d'autres questions, préoccupations ou demandes, veuillez nous en informer.

Pour info, il y a des liens morts là- dedans @mattdipasquale

Merci @dijonkitchen. Je pense que je les ai tous relancés.

Si l'équipe AWS va jusqu'à maintenir sa propre recette de bière, elle pourrait tout aussi bien aller plus loin et créer un robinet.

Ceci explique la signification de brew tap . https://github.com/Homebrew/brew/blob/master/docs/brew-tap.md

Essentiellement, cela signifie que ce compte github aws créerait un référentiel appelé [quelque chose comme] "homebrew-aws" et y mettrait la recette.

@jamesls devrait être familier avec ce concept puisqu'il l'a fait pour jmespath à https://github.com/jmespath/homebrew-jmespath
Donc, pour répondre à sa question ci-dessus, je suggérerais d'ajouter la formule à son jmespath/homebrew-jmespath ou de créer un référentiel aws/homebrew-aws. Ensuite, mettez à jour la référence à brew sur http://docs.aws.amazon.com/cli/latest/userguide/installing.html#choosing -an-installation-method pour décrire faire soit...

brew tap jmespath/jmespath
brew install jmespath/jmespath/awscli

...ou...

brew tap aws/aws
brew install aws/aws/awscli

...comme méthode d'installation officielle. Si vous ne le faites pas, alors pour le meilleur ou pour le pire https://github.com/Homebrew/homebrew-core/blob/master/Formula/awscli.rb est ce que la majorité des utilisateurs de Mac vont installer parce que cela a l'air sacrément officiel...

$ brew info awscli
awscli: stable 1.11.5 (bottled), HEAD
Official Amazon AWS command-line interface
https://aws.amazon.com/cli/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/awscli.rb

@mattdipasquale votre URL https://s3.amazonaws.com/homebrew/formulae/aws-cli.rb ci-dessus semble avoir des problèmes.

$ curl -s https://s3.amazonaws.com/homebrew/formulae/aws-cli.rb | xmllint --format -
<?xml version="1.0" encoding="UTF-8"?>
<Error>
  <Code>AllAccessDisabled</Code>
  <Message>All access to this object has been disabled</Message>
  <RequestId>636AE6C270CD649F</RequestId>
  <HostId>y8HMrOTA5l7SMOQM5uh0xZ5tdCumNk8td0RPLJh53kVHypP+K1s7OD8pJLSlcs70rsfzTDGEXDg=</HostId>
</Error>

@RichardBronosky Je pense que @mattdipasquale voulait juste dire cela à titre d'exemple.

Un autre +1 pour avoir simplement ajouté les informations suggérées au fichier README pour le moment. Il semble qu'ils aient suivi assez étroitement pour la plupart. J'utilise leur formule pour maintenir aws-cli à jour, et cela n'a pas semblé être un problème.

Analyse rapide des deltas de temps entre les versions de l'équipe AWS et des mainteneurs Homebrew ici , ainsi que l' essentiel des éléments de piratage pour accéder à l'analyse .

Existe-t-il actuellement une raison de ne pas utiliser Homebrew sur pip pour installer et maintenir les outils de ligne de commande AWS ?

La procédure de migration d'une installation basée sur pip existante vers Homebrew est-elle une simple question de

pip uninstall awsebcli
pip uninstall awscli
brew install awscli
brew install awsebcli

Ou y a-t-il plus?

@orome Cela devrait fonctionner, il semble que le package homebrew soit assez à jour. Cependant, nous ne garantissons pas que cela fonctionnera, donc si la formule ne fonctionne pas, vous devrez demander l'aide de celui qui la maintient.

@JordonPhillips : Et juste pour confirmer :

  1. il n'y a rien de différent entre les deux approches (du moins pas intentionnellement ; par exemple, les chemins, les emplacements des paramètres, etc.) ; et
  2. il n'y a rien de destructeur dans les étapes pip uninstall ... énumérées ci-dessus (je ne perdrai pas les paramètres ou les certificats).

Correct?

Ce n'est peut-être pas un problème, mais si python (2) et python3 sont installés via brew, l'installation d'awscli également via les valeurs par défaut de brew vers la version python 2.7. Ai-je raté quelque chose dans la configuration de mon PATH ? Y a-t-il de toute façon brew install awscli utiliser la version python3 ?

brew install awscli installe 1.11.80 (développer je suppose) contre 1.10.38 que je considère comme la version stable. voir : https://aws.amazon.com/releasenotes/CLI?browse=1

brew install awscli --HEAD donne la même version.

D'après le message en haut de ce fil, je m'attendais à ce que le premier installe la 1.10.38 et que l'installation --HEAD aboutisse à la 1.11.80. Toute clarification appréciée.

note: déplacer ceci vers homebrew

@jdhom Pouvez-vous

J'ai la même question que @sksea :

Ce n'est peut-être pas un problème, mais si python (2) et python3 sont installés via brew, l'installation d'awscli également via les valeurs par défaut de brew vers la version python 2.7. Ai-je raté quelque chose dans la configuration de mon PATH ? Existe-t-il de toute façon pour que brew install awscli utilise la version python3?

Je veux savoir ça aussi -

Ce n'est peut-être pas un problème, mais si python (2) et python3 sont installés via brew, l'installation d'awscli également via les valeurs par défaut de brew vers la version python 2.7. Ai-je raté quelque chose dans la configuration de mon PATH ? Existe-t-il de toute façon pour que brew install awscli utilise la version python3?

En repensant à cela, je pense que la bonne approche consiste maintenant à tirer parti d'un microconteneur docker avec awscli installé et à tirer parti de ce package pour contrôler à distance ce conteneur, qui contiendrait une version préinstallée du cli officiel.

@manik-chopra @sksea Je n'ai pas trouvé de moyen pour qu'awscli utilise python3 via brew, mais une alternative consiste à utiliser le programme d' installation fourni . Vous pouvez faire en sorte que votre awscli utilise la version python3. Il y a des instructions pour utiliser une version spécifique de python à l'étape 3. Ce n'est pas une solution homebrew, mais si vous avez absolument besoin de le faire, c'est une façon.

Le programme d'installation fourni nécessite : Python 2 version 2.6.5+ ou Python 3 version 3.3+ et ce n'est pas ainsi que fonctionne le package Homebrew AFAIK. Par conséquent, il n'est pas clair si l'utilisation du programme d'installation groupé est une suggestion pour résoudre ce problème ou simplement une solution de contournement.

Cogner à nouveau. Si nous pouvons simplement ajouter les informations au fichier README, je pense que cela pourrait être fermé.

Les mainteneurs de la formule Homebrew l'ont mise à jour dans les 3 jours suivant une nouvelle version d'awscli depuis que cette demande a été faite en 2014, en moyenne ; @jamesls concernant la synchronisation. Construire cela avec Python 3 contre Python 2 est une question pour Homebrew et non pour l'équipe awscli.

Je suis +2 sur celui-ci. Cela semble un peu idiot qu'il flotte encore plus de trois ans après la demande.

*Analyse disponible ici ; code de merde qui le génère ici .

Ceci est essentiel et doit figurer dans les documents AWS en tant qu'option prise en charge. Par rapport à d'autres outils, l'installation de l'AWS CLI est en plusieurs étapes et compliquée pour de nombreux utilisateurs (pas si mal, mais pas aussi simple qu'un brew install ).

Bonjour!

Nous fermons ce problème ici sur GitHub, dans le cadre de notre migration vers UserVoice pour les demandes de fonctionnalités impliquant l'AWS CLI.

Cela nous permettra de vous fournir les fonctionnalités les plus importantes, en facilitant la recherche et la prise en charge des fonctionnalités qui vous intéressent le plus, sans diluer la conversation avec des rapports de bogues.

En guise d'introduction rapide à UserVoice (s'il n'est pas déjà familier) : après la publication d'une idée, les gens peuvent voter sur les idées et l'équipe produit répondra directement aux suggestions les plus populaires.

Nous avons importé des demandes de fonctionnalités existantes depuis GitHub - Recherchez ce problème là-bas !

Et ne vous inquiétez pas, ce problème existera toujours sur GitHub pour la postérité. Comme il s'agit d'une importation de texte uniquement du message d'origine dans UserVoice, nous garderons toujours à l'esprit les commentaires et les discussions qui existent déjà ici sur le problème GitHub.

GitHub restera le canal pour signaler les bogues.

Encore une fois, ce problème peut maintenant être trouvé en recherchant le titre sur : https://aws.uservoice.com/forums/598381-aws-command-line-interface

-L'équipe des SDK et outils AWS

Cette entrée se trouve spécifiquement sur UserVoice à l' adresse :

??

Salut, @ASayre. Je reconnais qu'il ne s'agit que d'une petite partie de votre migration de masse, et que vous obtenez probablement beaucoup de bruit autour de tout cela. Ce problème pourrait être résolu avec une mise à jour du README, et tout simplement être fait. Cela fait 3 ans que quelqu'un s'en soucie suffisamment pour faire cette mise à jour.

Bonne chance dans vos futurs efforts.

PR #3193 créé pour cela. Upvote / pester là-bas ! ??

Sur la base des commentaires de la communauté, nous avons décidé de renvoyer les demandes de fonctionnalités aux problèmes GitHub.

Je viens de perdre une heure à exécuter des commandes ruby, à installer python / pip, à essayer de manipuler mes variables PATH, et cela ne fonctionnait toujours pas. Quelqu'un devrait supprimer complètement tout le contenu de cette page et le remplacer simplement par "run brew install awscli ".

Cela a fonctionné pour moi sur High Sierra:

sudo pip install awscli --ignore-installed six

Le site uservoice, référencé ci-dessus, semble mort : https://aws.uservoice.com/forums/598381-aws-command-line-interface

This site is not currently active

@alecmroo voir le commentaire de @jamesls ci-dessus :

Sur la base des commentaires de la communauté, nous avons décidé de renvoyer les demandes de fonctionnalités aux problèmes GitHub.

N'installe pas la dernière AWS CLI : brew install awscli --HEAD

info brassage awscli: awscli: stable 1.15.40 (en bouteille), HEAD

La dernière version de l'AWS CLI doit être : 1.15.47

Je ne parviens pas à exécuter cette commande : aws ec2 modify-vpc-tenancy

Quelqu'un sait-il comment je peux utiliser brew pour installer l'AWS CLI version 1.15.47 .. ?

Devrait juste être @ une version # : https://docs.brew.sh/Versions

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