AWS CLI $ PATH设置


111

我正在遵循AWS CLI设置指南。我已经成功在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环境中,并且可以看到没有输出,因此,我执行了export PATH =〜/ bin:$ PATH命令,将〜/ bin添加到$ PATH中。但是,这没有什么区别。在AWS命令不直接合作。

有人可以告诉我出什么问题了吗?

Answers:


249

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

$ 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

63
brew install awscli是我要走的路
Michael Guild

omg ..经过1个小时的尝试才能使cli正常工作,brew install awscli就像魅力一样。谢谢!
jdmdevdotnet

谢谢!Brew因权限问题Error: An unexpected error occurred during the 'brew link' step而失败,但是curl有效。
Jim Edelstein '18

brew install awscli是最简单的安装方式
Jun711

2
请注意文档说明:请 Package managers such yum, apt-get, or Homebrew for macOS are often behind several versions of the AWS CLI确保在安装后检查版本。
gatteo,

58

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

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

您可能需要将此添加到使用结束时.bash_profile

sudo nano ~/.bash_profile

49

当您运行命令时: 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
你的帖子对我有帮助。
anujprashar

3
这让我很开心
Teja

1
在python 2.7上,它已添加到./Library/Python/2.7/bin
Tech Junkie

4
对我来说最好的答案。仅使用brew便无济于事。知道为什么它坏了好多了!谢谢胡安
卡尔·泰勒

43

我已经使用Homebrew来安装AWS CLI,对此结果我感到非常满意。只需键入:

$ brew install awscli

安装brew之后。

请注意,在AWS CLI安装页面上有以下免责声明:

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

就是说,我没有发现这是个问题,awscli.rb已被相当频繁地更新以匹配最新版本。


更新:存在一个GitHub问题,建议在AWS CLI安装说明中添加Homebrew作为替代。此问题后来因该UserVoice功能请求而被关闭。


10

这也发生在我身上,不想再安装brew,因为一切都已经很好了。我还遵循了AWS网站上的“教程”,并且在导出路径步骤中遇到了问题。

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


8

尝试:

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

(将其放入.profile文件中)

也可以尝试使用自制软件安装aws cli。它将自动将其添加到您的路径。


7

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

$ brew install awscli

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


为我工作感谢:)
Salman Shahid

5

我刚刚遇到了相同的错误,可以通过在.bash_profile文件中添加以下行来解决此错误:

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

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


2

如果你有蟒的蟒蛇版本的系统上,请使用畅达安装awscli:

conda install -c conda-forge awscli

这对我有用,但是我不确定为什么。我的conda环境已停用,我使用pip3作为安装命令,因此我希望conda根本不会出现在图中。您能否解释一下为什么这样做?
DaveRGP

2

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

在AWS方面:

转到Amazon AWS中心->服务->身份和访问管理(IAM)->用户->找到您的用户并单击它->选择“安全凭证”选项卡->创建访问密钥

安装:在命令行/ bash上

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

可选:如果尚未找到aws版本,请在bash配置文件上设置aws路径。

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

配置:(最终步骤)按以下方式配置您的凭据

aws configure

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

AWS访问密钥ID [无]:abcd

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

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

默认输出格式[无]:json

祝好运!


1

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

RUN pip install awscli --upgrade 

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

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


0

我最终做了与Piotr相同的工作,很高兴了解如何在没有第三方软件的情况下更新您的路径。但是,随着3rd party软件的流行,Homebrew非常棒,使用它来将依赖项符号链接控制在​​一个位置是一件好事。在Mac上事实上pkg mgr。



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

以上应该解决问题。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.