126

我正在遵循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命令不能直接工作。

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

4

15 回答 15

263

以下是在 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
于 2015-05-26T17:06:14.007 回答
61

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

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

您可能希望将其添加到使用的末尾.bash_profile

sudo nano ~/.bash_profile
于 2017-06-19T10:53:12.090 回答
50

当你运行命令时: 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

于 2018-01-12T17:39:17.893 回答
47

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

$ brew install awscli

安装 brew 后。

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

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

也就是说,我没有发现这是一个问题,awscli.rb已经非常频繁地更新以匹配最新版本。


更新:有一个GitHub 问题建议应在 AWS CLI 安装说明中添加 Homebrew 作为替代方案。这个问题后来因这个UserVoice 功能请求而关闭。

于 2016-07-25T16:47:14.140 回答
11

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

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

于 2017-06-14T19:10:47.017 回答
10

尝试:

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

(把它放在 .profile 文件中)

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

于 2015-01-25T03:37:50.923 回答
9

有时,当类路径在 mac 上搞砸时——你总是可以在本地运行来修复 aws cli

$ brew install awscli

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

于 2019-12-06T21:52:48.847 回答
5

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

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

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

于 2017-07-21T14:13:50.720 回答
2

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

在 AWS 方面:

转到亚马逊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

祝你好运!

于 2019-09-04T13:39:55.213 回答
2

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

conda install -c conda-forge awscli
于 2018-06-05T18:30:14.900 回答
1

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

RUN pip install awscli --upgrade 

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

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

于 2019-01-19T09:56:36.623 回答
0

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

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

于 2018-09-11T11:15:02.953 回答
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

以上应该可以解决问题。

于 2018-12-26T19:36:26.410 回答
0

我最终做了和 Piotr 一样的事情,很高兴了解如何在没有 3rd 方软件的情况下更新你的路径。然而,随着 3rd 方软件的发展,Homebrew 非常棒,使用它来将您的依赖符号链接控制在​​一个地方是一件好事。mac 上事实上的 pkg mgr。

于 2017-07-21T22:25:58.937 回答
0

我尝试使用 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
于 2021-11-10T18:15:17.543 回答