Configuración de AWS CLI $ PATH

111

Estoy siguiendo la guía de configuración de AWS CLI . He logrado instalar con éxito la herramienta en mi terminal Mac OS X con el siguiente resultado:

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

Mi problema es que tengo que escribir la ruta completa /Users/fr/.local/lib/aws/bin/aws para ejecutar cualquier comando aws . Según el paso final de la guía, debería poder ejecutar el comando aws directamente sin escribir la ruta absoluta para que se ejecute.

Cuando intento usar solo aws , obtengo el siguiente resultado:

aws --version                                                                                         ⏎
command not found: aws

Seguí las instrucciones para asegurarme de que ~ / bin está en mi entorno PATH y pude ver que no había salida, por lo tanto, ejecuté el comando export PATH = ~ / bin: $ PATH para agregar ~ / bin a $ PATH . Pero esto no ha supuesto ninguna diferencia. El comando aws no funciona directamente.

¿Podría alguien avisarme de lo que podría estar fallando?

fr_muses
fuente

Respuestas:

249

Estos son los tres pasos para instalar AWS cli en mac OSX (curl o wget) El tercer paso establecerá su ruta correctamente

$ 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

La otra forma más fácil es hacerlo usando homebrew

brew install awscli

Si quieres la versión de desarrollo puedes hacerlo

brew install awscli --HEAD
gurú
fuente
63
brew install awscliera el camino a seguir para mí
Michael Guild
Dios mío ... a través de 1 hora tratando de hacer que el cli funcione, brew install awsclifuncionó como un encanto. ¡Gracias!
jdmdevdotnet
¡Gracias! Brew falló con un problema de permisos Error: An unexpected error occurred during the 'brew link' steppero curl funcionó.
Jim Edelstein
brew install awscli es el más sencillo
Jun 711
2
Tenga en cuenta lo que dice la documentación: Package managers such yum, apt-get, or Homebrew for macOS are often behind several versions of the AWS CLIasí que asegúrese de verificar la versión después de la instalación.
gatteo
58

Esto funcionó para mí (nota: cambie 2.7 a su versión específica de Python):

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

Es probable que desee agregar esto al final de su .bash_profileuso:

sudo nano ~/.bash_profile
Willsquire
fuente
49

cuando ejecuta el comando: pip3 install awscli --upgrade --user

observe de cerca dónde se instala la herramienta aws cli, puede ver la ruta en el registro de la terminal, en mi caso obtuve algo como esto:

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

Ahora debe agregar a su .bash_profile la misma ruta pero en la carpeta bin (eliminándola de la ruta lib y en su lugar ponga su ruta bin) así:

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

Juan Camilo Zapata
fuente
4
tu publicación me ayudó.
anujprashar
3
Esto me
alegró el
1
En Python 2.7, se agregó a ./Library/Python/2.7/bin
Tech Junkie
4
La mejor respuesta para mi. No tiene sentido solucionar un problema simplemente usando brebaje. ¡Es mucho mejor saber por qué está roto! Gracias Juan
Karl Taylor
43

He usado Homebrew para instalar AWS CLI y estoy bastante satisfecho con el resultado. Simplemente escriba:

$ brew install awscli

después de haber instalado brew.

Nota, en el página de instalación de AWS CLI se encuentra el siguiente descargo de responsabilidad:

El paquete awscli puede estar disponible en repositorios para otros administradores de paquetes como APT, yum y Homebrew, pero no se garantiza que sea la última versión.

Dicho esto, no he encontrado que esto sea un problema, el awscli.rb se ha actualizado con bastante frecuencia para que coincida con las últimas versiones.


Actualización: hay un problema de GitHub que sugiere que Homebrew debería agregarse como alternativa en las instrucciones de instalación de la AWS CLI. Este problema se cerró más tarde a favor de esta solicitud de función de UserVoice .

matsev
fuente
10

Esto también me pasó a mí y ya no quería instalar brew, porque todo estaba funcionando bien. También seguí el 'tutorial' en el sitio de AWS y tuve problemas en el paso de la ruta de exportación.

Básicamente, agregó una carpeta de Python diferente a la de donde se descargó awscli. Entonces, en lugar de export PATH=~/.local/bin:$PATH lo que sugirieron, usé una ruta completa desde el disco: export PATH=/Users/abc/Library/Python/3.6/bin/:$PATH

jaruss
fuente
8

Tratar:

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

(ponerlo en archivo .profile)

También intente instalar aws cli con homebrew. Lo agregará a su ruta automáticamente.

Nami
fuente
7

a veces, mientras que las rutas de clase están estropeadas en mac, siempre puede ejecutar para reparar aws cli localmente

$ brew install awscli

que reutilizaría y actualizaría el paquete existente y configuraría la ruta de clase correcta

Pravin
fuente
Funcionó para mí Gracias :)
Salman Shahid
5

Acabo de tener el mismo error y pude resolverlo agregando la siguiente línea a mi .bash_profilearchivo:

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

Verifique la versión de Python, ya que puede ser ligeramente diferente en su sistema. Esto evita agregar su carpeta de nombre de usuario al .bash_profilearchivo.

Piotr Berebecki
fuente
2

Si tiene la versión Anaconda de python en su sistema, use conda para instalar awscli:

conda install -c conda-forge awscli
Duende
fuente
Esto funcionó para mí, pero no estoy seguro de por qué. Mi entorno conda se desactivó y usé pip3 como el comando de instalación, por lo que esperaba que conda no apareciera en la imagen. ¿Podrías explicar un poco más por qué funciona esto?
DaveRGP
2

Asegúrese de que Python esté instalado globalmente. Los pasos son los siguientes:

Del lado de AWS:

Vaya al centro de Amazon AWS -> Servicios -> Administración de acceso e identidad (IAM) -> Usuarios -> busque su usuario y haga clic en él -> seleccione la pestaña Credenciales de seguridad -> crear clave de acceso

Instalación: en línea de comando / bash

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

Opcional : si aún no se encuentra la versión de aws, configure la ruta de aws en su perfil de bash.

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

Configuración: (Paso final) Configure sus credenciales de la siguiente manera

aws configure

Complete las propiedades que obtuvo del sitio web de aws y conecte su cuenta. adjuntando un ejemplo para este paso.

ID de clave de acceso de AWS [Ninguno]: abcd

Clave de acceso secreta de AWS [Ninguna]: zyx123! @ #

Región predeterminada> nombre [Ninguno]: us-east-1

Formato de salida predeterminado [Ninguno]: json

¡Buena suerte!

avivamg
fuente
1

Personalmente, tuve el mismo problema con aws CodeBuild: no pude usar aws cli. Lo resolví instalando aws globalmente en mi imagen de Docker (en lugar de instalarlo localmente para un usuario).

RUN pip install awscli --upgrade 

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

¡Funcionó para mí, si eso puede ayudar a alguien!

Tibo
fuente
0

Terminé haciendo lo mismo que Piotr y es bueno entender cómo actualizar su ruta sin software de terceros. Sin embargo, como el software de terceros va, Homebrew es bastante impresionante y es bueno usarlo para mantener controlados los enlaces simbólicos de dependencia en un solo lugar. pkg mgr de facto en mac.

Puckey
fuente
0

Eche un vistazo a la nota en https://docs.aws.amazon.com/cli/latest/userguide/install-bundle.html

De forma predeterminada, el script de instalación se ejecuta en la versión predeterminada del sistema de Python. Si ha instalado una versión alternativa de Python y desea usarla para instalar la AWS CLI, ejecute el script de instalación con esa versión por ruta absoluta al ejecutable de Python.

Para el paso donde ejecuta el ejecutable de instalación

en lugar de hacer solo:

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

Descubra dónde está instalado su Python, por ejemplo

$ which python

y luego use la ruta para instalar el ejecutable como

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

Lo anterior debería solucionar el problema.

vredrav
fuente