AWS CLI $ PATH设置

时间:2014-10-26 14:48:40

标签: macos amazon-web-services aws-cli

我关注AWS CLI Setup guide。我已经设法在我的Mac OS X终端上成功安装了该工具,输出如下:

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

我的问题是我必须输入完整路径 /Users/fr/.local/lib/aws/bin/aws 才能执行任何 aws 命令。根据指南的最后一步,我应该能够直接执行aws命令而无需键入执行它的绝对路径。

当我尝试使用 aws 时,我得到以下输出:

aws --version                                                                                         ⏎
command not found: aws

我按照说明确保〜/ bin 在我的 PATH 环境中,我可以看到没有输出,因此,我执行了导出 PATH =〜/ bin:$ PATH 命令将〜/ bin添加到$ PATH 。但这没有任何区别。 aws 命令无法直接使用。

有人可以告知可能出现的问题吗?

14 个答案:

答案 0 :(得分:210)

以下是在mac OSX上安装AWS cli的三个步骤(curl或wget)第三步将正确设置路径

$ 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

另一种最简单的方法是使用自制软件

brew install awscli

如果您想要开发版本,可以

brew install awscli --HEAD

答案 1 :(得分:53)

这对我有用(注意:将2.7更改为您特定的Python版本):

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

您可能希望使用以下内容将其添加到.bash_profile的末尾:

sudo nano ~/.bash_profile

答案 2 :(得分:35)

我已使用Homebrew安装AWS CLI,我对结果非常满意。只需输入:

$ brew install awscli

安装brew后。

注意,在AWS CLI installation page上有以下免责声明:

  

awscli软件包可以在其他软件包管理器(如APT,yum和Homebrew)的存储库中使用,但不保证是最新版本。

尽管如此,我还没有发现这是一个问题,awscli.rb已经经常更新以匹配最新版本。

更新:有GitHub issue表示应在AWS CLI安装说明中添加Homebrew作为替代方案。此问题后来被关闭,支持此UserVoice feature request

答案 3 :(得分:30)

运行命令时: pip3 install awscli --upgrade --user

密切关注安装aws cli工具的位置,你可以看到终端日志上的路径,在我的例子中我得到了这样的东西:

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

现在你应该在你的.bash_profile中添加相同的路径,但是在bin文件夹上(从lib路径中删除,而不是把你的bin路径)添加到这样:

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

答案 4 :(得分:9)

这也发生在我身上,并且不想再安装brew了,因为一切都运行良好。我也遵循了教程'在AWS站点上并且在导出路径步骤中出现问题。

基本上,它添加了一个不同的python文件夹,其中下载了awscli。所以而不是export PATH=~/.local/bin:$PATH 他们建议我使用磁盘的完整路径: export PATH=/Users/abc/Library/Python/3.6/bin/:$PATH

答案 5 :(得分:7)

尝试:

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

(把它放在.profile文件中)

还尝试用自制软件安装aws cli。它会自动将其添加到您的路径中。

答案 6 :(得分:5)

我遇到了同样的错误,我可以通过在.bash_profile文件中添加以下内容来解决问题:

<强> export PATH=~/Library/Python/2.7/bin/:$PATH

请检查Python的版本,因为它可能与您的系统略有不同。这样可以避免将您的用户名文件夹添加到.bash_profile文件中。

答案 7 :(得分:2)

如果您的系统上有Anaconda版本的python,请使用 conda 安装awscli:

conda install -c conda-forge awscli

答案 8 :(得分:1)

我个人对aws CodeBuild也有同样的问题-我无法使用aws cli。我通过在docker映像上全局安装aws解决了此问题(而不是在本地安装给用户)。

RUN pip install awscli --upgrade 

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

它对我有用,如果可以帮助任何人!

答案 9 :(得分:1)

有时在Mac上会混淆classpath的情况-您始终可以在本地运行以修复AWS CLI

$ brew install awscli

这将重新使用和更新现有软件包并设置正确的类路径

答案 10 :(得分:0)

我最终和Piotr一样,了解如何在没有第三方软件的情况下更新路径是很好的。然而,随着第三方软件的推出,Homebrew非常棒,使用它来保持您的依赖符号链接在一个地方是一件好事。事实上的pkg mgr在mac上。

答案 11 :(得分:0)

这似乎是位于以下位置的虚拟环境方法: https://docs.aws.amazon.com/cli/latest/userguide/awscli-install-virtualenv.html

不激活virtualenv: 已记录示例中的source ~/cli-ve/bin/activate

答案 12 :(得分:0)

看看https://docs.aws.amazon.com/cli/latest/userguide/install-bundle.html上的注释

  

默认情况下,安装脚本在系统默认版本的Python下运行。如果您已经安装了Python的替代版本,并希望使用该版本来安装AWS CLI,请通过Python可执行文件的绝对路径来运行具有该版本的安装脚本。

有关运行安装可执行文件的步骤

不只是做:

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

例如,找到您的python安装位置

$ which python

,然后使用路径安装可执行文件,如

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

以上内容可以解决问题。

答案 13 :(得分:0)

确保python全局安装,步骤如下:

在AWS端:

  

转到亚马逊AWS中心->服务->身份和访问管理(IAM)->用户->查找您的用户并单击它->选择安全性   凭据标签->创建访问密钥

安装:在命令行/ bash上

SELECT table1. I'd
      ,table1.[Date Of Offence]
      ,table. [Offence Category]
      ,table1.[Offence Description]
      ,table1.[Action Taken]
FROM table1
WHERE table1.[Date Of Offence] Between DateSerial(Year(Date()), Month(Date())-1, 1) And DateSerial(Year(Date()), Month(Date()), 0)
AND table1.[Offence Category] = "Speeding"
OR table1.[Date Of Offence] Between DateSerial(Year(Date()), Month(Date())-1, 1) And DateSerial(Year(Date()), Month(Date()), 0)
AND (table1.[Offence Category] = "Speeding" IS NULL

UNION ALL

SELECT table1.ID
      ,table1[Date Of Offence 2]
      ,table1.[Offence Category 2]
      ,table1.[Offence Description 2]
      ,table1.[Action Taken 2]
FROM table1
WHERE table1.[Date Of Offence]) Between DateSerial(Year(Date()), Month(Date())-1, 1) And DateSerial(Year(Date()), Month(Date()), 0)
AND table1.[Offence Category] = "Speeding"
OR table1.[Date Of Offence] Between DateSerial(Year(Date()), Month(Date())-1, 1) And DateSerial(Year(Date()),Month(Date()),0))
AND table1.[Offence Category]) = "Speeding" IS NULL

UNION

Into the 3rd query

可选:如果尚未找到aws版本,请在bash个人资料上设置aws路径。

curl -O https://bootstrap.pypa.io/get-pip.py
python3 get-pip.py --user
pip3 install awscli --upgrade --user
aws --version

配置 :(最后一步)按以下步骤配置您的凭据

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

填写从aws网站获得的属性并连接您的帐户。附上该步骤的示例。

  

AWS访问密钥ID [无]:abcd

     

AWS秘密访问密钥[无]:zyx123!@#

     

默认区域>名称[无]:us-east-1

     

默认输出格式[无]:json

祝你好运!