Aws-cli: 使用 Homebrew 安装 aws-cli

创建于 2014-03-29  ·  42评论  ·  资料来源: aws/aws-cli

我的awscli 公式已合并,并在Homebrew 中正式提供。

在自述文件中添加 Homebrew 作为安装选项会很有用。

作为这样的建议,

Mac OS X 上的 Homebrew

aws-cli 也可以使用 Mac OS X 上的Homebrew包管理器安装:

brew install awscli

如果您想要 aws-cli 的开发版本:

brew install awscli --HEAD

安装后 brew 将提供安装完成的说明以及在哪里可以找到有关如何使用 aws-cli 的示例。

feature-request installation

最有用的评论

同意。 与 pip 相比,Homebrew 吸引了更广泛的受众。

所有42条评论

同意。 与 pip 相比,Homebrew 吸引了更广泛的受众。

发布历史非常好,但仍然有点参差不齐。 https://github.com/Homebrew/homebrew/commits/master/Library/Formula/awscli.rb

这应该是官方的

有谁知道在使用 Homebrew 安装 Python 后如何使用 pip 安装 awscli? 似乎路径文件在某处出错,因为它正在 /usr/local/bin/ 中寻找 aws-cli 可执行文件,但如果你这样做了

sudo pip install awscli 

而是将它放在 /usr/bin/ 中。 我收到以下错误:

Traceback (most recent call last):
   File "/usr/local/bin/aws", line 15, in <module>
   import awscli.clidriver
ImportError: No module named awscli.clidriver

如果有人不介意回答,只需寻找一些背景信息。

如果有的话,AWS CLI 团队可以做些什么来确保我们使自制软件版本与最新的 CLI 版本保持同步? 我们通常每周发布 1 到 2 次。 如果我们正式支持这一点,我们需要确保我们可以拥有与其他正常发布渠道(pip、捆绑安装程序、MSI)相同的发布节奏。

如果我没记错的话,无论如何都会有一些延迟,因为更新的 CLI 版本的 PR 仍然需要合并到自制软件的主分支中,每个版本是否正确?

再次只是试图了解所涉及的内容。

@ iz2140我会仔细检查您使用的是哪个 pip。 如果您使用 Homebrew 安装 Python,您应该将pip安装到/usr/local/bin/pip 。 这应该将 AWS CLI 安装到/usr/local/bin/

@jamesls我最终只是使用 pip 卸载 AWSCLI 并使用 Homebrew 重新安装,结果一切正常。 不过还是谢谢!

我也很想看到官方的 Homebrew 安装选项。

如果有人不介意回答我在这里提出的一些问题,我们可以进一步探索这个选项。 暂时标记为功能请求。

Homebrew 的贡献过程解释如下: https :

我希望在拉取请求后与 Homebrew 团队进行对话将是处理您的时间问题的最佳场所。

鉴于我一直在从 Homebrew 运行相同版本的 aws-cli,我不确定我只需要每周更新一次。

@jamesls感谢您的回复。 我想我找到了一些你的问题的答案。

对于几乎即时的同步,只需使用一个 URL,例如:

brew install https://s3.amazonaws.com/homebrew/formulae/aws-cli.rb

运行man brew以显示brew(1) 联机帮助页,并查看指定公式

否则,是的,可能会有一些延迟:根据如何打开 Homebrew 拉取请求(并合并它) ,“[Homebrew 的维护者] 通常会在几天内回复所有 PR。”

注意:如果您选择向Homebrew Core添加新公式,请将公式命名为aws-cli ,而不是awscli ,因为它在 GithubHomebrew Formula Cookbook: A Quick被称为命名词说,“命名公式就像项目营销产品一样。所以它是pig-config ,而不是pkgconfigsdl_mixer ,而不是ssl-mixersdlmixer 。” pip 包名称也是如此。 见#2090。

下面是我发现的更多链接,这些链接记录了如何创建和更新 Homebrew 公式。

这能回答你的问题吗?

祝您好运,正式支持通过 Homebrew 安装 AWS CLI!

如果您有任何问题、疑虑或要求,请告诉我们。

仅供参考,那里有一些死链接@mattdipasquale

谢谢你,@dijonkitchen。 我想我让他们都复活了。

如果 AWS 团队打算维护自己的酿造配方,他们不妨更进一步,创建一个水龙头。

这解释了brew tap的含义。 https://github.com/Homebrew/brew/blob/master/docs/brew-tap.md

本质上,这意味着这个 github aws 帐户将创建一个名为 [类似]“homebrew-aws”的存储库,并将配方放在那里。

@jamesls应该熟悉这个概念,因为他在https://github.com/jmespath/homebrew-jmespath 上为 jmespath 做了这个
因此,要回答他上面的问题,我建议将公式添加到他的 jmespath/homebrew-jmespath 或创建一个 aws/homebrew-aws 存储库。 然后在http://docs.aws.amazon.com/cli/latest/userguide/installing.html#choosing -an-installation-method 更新对 brew 的引用,以描述执行以下任一操作...

brew tap jmespath/jmespath
brew install jmespath/jmespath/awscli

...或者...

brew tap aws/aws
brew install aws/aws/awscli

...作为官方安装方法。 如果你不这样做,那么无论好坏https://github.com/Homebrew/homebrew-core/blob/master/Formula/awscli.rb是大多数 Mac 用户将要安装的,因为这看起来非常糟糕官方的...

$ brew info awscli
awscli: stable 1.11.5 (bottled), HEAD
Official Amazon AWS command-line interface
https://aws.amazon.com/cli/
Not installed
From: https://github.com/Homebrew/homebrew-core/blob/master/Formula/awscli.rb

@mattdipasquale你上面的https://s3.amazonaws.com/homebrew/formulae/aws-cli.rb url 似乎有问题。

$ curl -s https://s3.amazonaws.com/homebrew/formulae/aws-cli.rb | xmllint --format -
<?xml version="1.0" encoding="UTF-8"?>
<Error>
  <Code>AllAccessDisabled</Code>
  <Message>All access to this object has been disabled</Message>
  <RequestId>636AE6C270CD649F</RequestId>
  <HostId>y8HMrOTA5l7SMOQM5uh0xZ5tdCumNk8td0RPLJh53kVHypP+K1s7OD8pJLSlcs70rsfzTDGEXDg=</HostId>
</Error>

@RichardBronosky我认为@mattdipasquale只是作为一个例子。

另一个 +1 用于暂时将建议的信息添加到自述文件中。 在大多数情况下,他们似乎一直在密切跟踪。 我正在使用他们的公式来使 aws-cli 保持最新状态,这似乎不是问题。

时间增量的快速分析来自AWS团队发布和家酿维护者之间在这里,与一起在哈克位的要点去分析

目前是否有任何理由不通过 pip 使用 Homebrew 来安装和维护 AWS 命令​​行工具?

将现有的基于 pip 的安装迁移到 Homebrew 的过程是否很简单

pip uninstall awsebcli
pip uninstall awscli
brew install awscli
brew install awsebcli

或者还有更多吗?

@orome它应该可以工作,似乎自制软件包是最新的。 但是,我们不保证它会起作用,因此如果公式失效,那么您需要向维护它的人寻求帮助。

@JordonPhillips :只是为了确认:

  1. 这两种方法没有什么不同(至少不是故意的;例如,路径、设置位置等); 和
  2. 上面列出的pip uninstall ...步骤没有任何破坏性(我不会丢失设置或证书)。

正确的?

可能不是问题,但如果 python (2) 和 python3 都是通过 brew 安装的,那么也通过 brew 安装 awscli 默认为 python 2.7 版本。 我在 PATH 的设置方式中是否遗漏了什么? 无论如何让brew install awscli使用 python3 构建?

brew install awscli安装 1.11.80(我猜是开发版)与我认为是稳定版本的 1.10.38。 请参阅: https :

brew install awscli --HEAD产生相同的版本。

从这个帖子顶部的帖子我预计第一个安装 1.10.38 和--HEAD安装导致 1.11.80。 任何澄清表示赞赏。

注意:将其移至自制软件

@jdhom你能链接到这个问题在 Homebrew 上的继续吗?

我和@sksea有同样的问题:

可能不是问题,但如果 python (2) 和 python3 都是通过 brew 安装的,那么也通过 brew 安装 awscli 默认为 python 2.7 版本。 我在 PATH 的设置方式中是否遗漏了什么? 无论如何让 brew install awscli 使用 python3 构建?

我也想知道这个——

可能不是问题,但如果 python (2) 和 python3 都是通过 brew 安装的,那么也通过 brew 安装 awscli 默认为 python 2.7 版本。 我在 PATH 的设置方式中是否遗漏了什么? 无论如何让 brew install awscli 使用 python3 构建?

再次思考这个问题,我觉得现在正确的方法是利用安装了 awscli 的 docker 微容器,并利用这个包来远程控制该容器,该容器将包含官方 cli 的预安装版本。

@manik-chopra @sksea我还没有找到让 awscli 通过 brew 使用 python3 的方法,但另一种方法是使用捆绑安装程序。 您可以让 awscli 使用 python3 构建。 在第 3 步有使用特定 python 版本的说明。这不是自制解决方案,但如果您绝对需要完成它,这是一种方法。

捆绑安装程序需要:Python 2 版本 2.6.5+ 或 Python 3 版本 3.3+,这不是 Homebrew 包的工作方式 AFAIK。 因此,不清楚使用捆绑安装程序是解决此问题的建议还是只是一种解决方法。

又撞这个了。 如果我们可以将信息添加到自述文件中,我认为这可以关闭。

自 2014 年提出此请求以来,Homebrew 公式的维护者平均在 awscli 发布后的 3 天内对其进行了更新; @jamesls提出的关于保持同步的担忧。 使用 Python 3 vs. Python 2 构建这个是 Homebrew 的问题,而不是 awscli 团队的问题。

我对这个 +2。 似乎有点傻,它在问了三年多之后仍然漂浮着。

*此处提供分析; 在这里生成它的蹩脚代码。

这是关键,应该作为受支持的选项出现在 AWS Docs 中。 与其他工具相比,AWS CLI 的安装对许多用户来说是多步骤和复杂的(不是那么糟糕,但不像brew install那样简单)。

早上好!

我们将在 GitHub 上关闭此问题,作为我们迁移到UserVoice以处理涉及 AWS CLI 的功能请求的一部分。

这将使我们为您提供最重要的功能,让您更轻松地搜索和显示对您最关心的功能的支持,而不会因错误报告而淡化对话。

作为 UserVoice 的快速入门(如果还不熟悉的话):发布想法后,人们可以对想法进行投票,产品团队将直接对最受欢迎的建议做出回应。

我们已经从 GitHub 导入了现有的功能请求 - 在那里搜索这个问题!

别担心,为了后代,这个问题仍然存在于 GitHub 上。 由于它是将原始帖子以纯文本形式导入 UserVoice,因此我们仍会牢记 GitHub 问题上已经存在的评论和讨论。

GitHub 将继续作为报告错误的渠道。

再次,现在可以通过在以下位置搜索标题找到此问题: https :

-AWS 开发工具包和工具团队

此条目可以在 UserVoice 上特别找到: https :

🤣

嗨,@ASayre。 我知道这只是您大规模迁移的一小部分,而且您可能会在所有这些方面收到很多噪音。 这个问题可以通过更新自述文件来解决,并且刚刚完成。 已经等了 3 年了,有人足够关心来进行更新。

祝你在未来的努力中好运。

PR #3193 为此创建。 在那里点赞/纠缠! 😆

根据社区反馈,我们决定将功能请求返回到 GitHub 问题。

我只是浪费了一个小时运行 ruby​​ 命令,安装 python / pip,试图摆弄我的 PATH 变量,但它仍然没有工作。 有人应该完全删除此页面上的所有内容,并将其替换为“运行brew install awscli ”。

这在 High Sierra 上对我有用:

sudo pip install awscli --ignore-installed six

上面提到的 uservoice 站点似乎已经死了: https :

This site is not currently active

@alecmroo见上面@jamesls的评论:

根据社区反馈,我们决定将功能请求返回到 GitHub 问题。

不安装最新的 AWS CLI: brew install awscli --HEAD

brew info awscli: awscli: stable 1.15.40 (bottled), HEAD

最新的 AWS CLI 版本应该是:1.15.47

我无法运行此命令:aws ec2 modify-vpc-tenancy

有人知道我如何使用 brew 安装 AWS CLI 1.15.47 版吗?

应该只是@一些版本#: https :

此页面是否有帮助?
0 / 5 - 0 等级