reconoce mac interno instalar how externo configurar como comando cli aws python macos amazon-web-services pip

python - mac - awscli no se agregó a la ruta después de la instalación



instalar aws cli windows (9)

Mejorando la respuesta del OP

El OP respondió su propia respuesta, pero la ubicación exacta del ejecutable es más probable que sea diferente de lo que es ser el mismo. Entonces, analicemos POR QUÉ funcionó su solución para que pueda aplicarla a usted mismo.

Del problema

Hay una serie de archivos ubicados en /Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/awscli , sin embargo, no hay ejecutables llamados aws.

De la solución

La solución fue agregar /Library/Frameworks/Python.framework/Versions/3.3/bin a mi PATH.

Aprendamos algo

Compare esos caminos para encontrar su comunidad:

/Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/awscli /Library/Frameworks/Python.framework/Versions/3.3/bin

Tenga en cuenta que divergen en lib vs. bin . Y considere que el PO declaró, " no hay ejecutables llamados Aws " . Eso nos lleva a nuestras primeras lecciones de aprendizaje:

  • Los ejecutables tienden a no estar en las carpetas de lib .
  • Busque carpetas bin que comparten un linaje común.

En este caso, habría sugerido buscar carpetas bin través de:

find /Library/Frameworks/Python.framework -type d -name bin

Pero, si va a hacer eso, también podría buscar su ejecutable a través de:

find /Library/Frameworks/Python.framework -type f -perm -100 -name aws # the `-` in `perm -100` means not an exact match of 100 # but any octal that includes 100

Pero espera

¿Cómo supo saber OP en sus /Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/ ?

La respuesta más fácil es también nuestra próxima lección de aprendizaje:

  • Pregúntale a tu pitón dónde están instaladas las cosas.

Aquí es cómo lo hago:

$ python -c ''import awscli; print(awscli)'' <module ''awscli'' from ''/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/awscli/__init__.pyc''> $ python3 -c ''import awscli; print(awscli)'' <module ''awscli'' from ''/System/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/awscli/__init__.py''>

Tengo 2 pitones y ninguno de ellos usa las mismas rutas o patrones de ruta que el OP.

Aplica lo que hemos aprendido

$ find /System/Library/Frameworks/Python.framework -type d -name bin /System/Library/Frameworks/Python.framework/Versions/2.7/bin /System/Library/Frameworks/Python.framework/Versions/3.6/bin $ find /System/Library/Frameworks/Python.framework -type f -perm -100 -name aws /System/Library/Frameworks/Python.framework/Versions/2.7/bin/aws /System/Library/Frameworks/Python.framework/Versions/3.6/bin/aws

Como puede ver, tengo 2 carpetas bin y 2 aws ejecutables. Probablemente quiera usar la versión de Python3.6. Sin embargo, si estoy haciendo un trabajo de prueba y error local para un sistema remoto que usa la versión de Python2.7, voy a querer usar eso. Y esta es exactamente la razón por la que tengo 2 versiones instaladas.

Instalé el aws cli de acuerdo con las instrucciones oficiales de Amazon.

sudo pip install awscli

Sin embargo, aws no se encuentra en mi camino. La instalación parece haber sido exitosa. Hay una serie de archivos ubicados en /Library/Frameworks/Python.framework/Versions/3.3/lib/python3.3/site-packages/awscli , sin embargo, no hay ejecutables llamados aws . Mi versión de Python es 3.3.4, mi versión de pip es 1.5.4 y ejecuto este comando en OS X 10.9. ¿Qué podría estar mal?

¡Gracias!


Edite el archivo de paths directamente si tiene derechos de administrador.

Definitivamente vaya con la respuesta superior si no tiene derechos de administrador, pero si lo hace, le recomiendo directamente la edición de los archivos de paths , ubicados en /etc/paths .

Usa tu editor favorito y simplemente pega la ruta deseada en una nueva línea:

Archivo de paths muestra:

/usr/local/bin /usr/bin /bin /usr/sbin /sbin /Users/username/Library/Python/3.6/bin #new path added here at bottom of file

Pegue en la parte superior o inferior o en el orden que desee las ubicaciones buscadas binarias (en el caso de que haya binarios con nombres duplicados).

El uso del archivo de paths ahorra la molestia de recordar la sintaxis de concatenación o el problema potencial si escribe una declaración de exportación defectuosa.


Actualicé de OSX 10.7 a OSX 10.9 y luego, mi instalación de Aws ya no funcionó.

Observé errores como este:

$ pip Traceback (most recent call last): File "/usr/local/bin/pip", line 5, in <module> from pkg_resources import load_entry_point File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 2603, in <module> working_set.require(__requires__) File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 666, in require needed = self.resolve(parse_requirements(requirements)) File "/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/pkg_resources.py", line 565, in resolve raise DistributionNotFound(req) # XXX put more info here pkg_resources.DistributionNotFound: pip==1.5.5

La solución que la actualización del sistema operativo había cambiado permisos.

Pista de regalo:

sudo pip <--- trabajado

pip <--- fallido

Entonces hice esto:

sudo chmod -R a+r /Library/Python/

y luego, puedo usar los comandos aws nuevamente.

No estoy seguro si esto es algo que será útil para otros, pero pensé que lo lanzaría a la mezcla.


Al instalar en un virtualenv: ''pip install awscli'' (sin sudo) funcionó bien en OS X; pero no en la versión 6.6 de CentOS, p. ej., "que Aws" no encontró nada. La solución:

chmod u+x /PATH-TO-YOUR-VIRTUALENV/bin/aws



Es probable que Windows sea la minoría aquí, pero agregar debajo a mi TRAYECTORIA funcionó para mí. Como referencia, instalé el CLI a través de pip:

C:/Python27/Scripts


Esto funcionó para mí en mac:

sudo -H pip install awscli --upgrade --ignore-installed six


La solución fue agregar

/Library/Frameworks/Python.framework/Versions/3.3/bin

al mi camino


Lo que normalmente hago es copiar el ejecutable a / usr / local / bin

cp $(find / -name aws) /usr/local/bin