如何将AWS CLI升级到最新版本?


137

我最近注意到我正在运行的旧版AWS CLI缺少我需要的某些功能:

$aws --version
aws-cli/1.2.9 Python/3.4.3 Linux/3.13.0-85-generic

如何升级到最新版本的AWS CLI(1.10.24)?

编辑:

运行以下命令无法更新AWS CLI:

$ pip install --upgrade awscli
Requirement already up-to-date: awscli in /usr/local/lib/python2.7/dist-packages
Cleaning up...

检查版本:

$ aws --version
aws-cli/1.2.9 Python/3.4.3 Linux/3.13.0-85-generic

1
我也有同样的情况,这是由于最初通过来安装aws cli引起的apt-get install awscli。解决方法是先将其删除(apt-get remove awscli),然后按照以下pip install答案进行操作。
达伦·里德

我做了(apt-get remove awscli),但是在执行(pip install ...)命令之后,我找不到awscli可执行文件。(pip install ...)的输出表示安装成功。
NKM

如果我在pip安装中不使用“ --user”选项,那么可以在/ usr / local / bin下找到awscli可执行文件(我在Debian Jessie上)。但是使用--user选项,exec在〜/ .local或任何python安装包文件夹(dist-package或site-package)中不可用。
NKM

Answers:


108

来自http://docs.aws.amazon.com/cli/latest/userguide/installing.html#install-with-pip

要升级现有的AWS CLI安装,请使用--upgrade选项:

pip install --upgrade awscli

我收到以下消息:Requirement already up-to-date: awscli in /usr/local/lib/python2.7/dist-packages。虽然当我跑步aws --version时我得到了aws-cli/1.2.9 Python/3.4.3 Linux/3.13.0-85-generic
北欧化工

23
尝试pip3 install --upgrade awscli
RaviTezu

12
运行sudo pip3 install --upgrade awscli并重新启动就可以了。谢谢您的帮助。
北欧化工

19
安装aws cli后,只需重新启动即可。
JoeTidee

3
我不能相信这是一个重启需要,但在这种情况下,它是更快地重新启动我的虚拟机比找到一个替代[即“重启巫术”是Windows。
toddkaufmann

49

在Linux和MacOS X上,以下是与每个步骤相对应的三个命令:

$ 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

3
通过更新pip对我不起作用-以aws这种方式删除并重新安装确实有效。
BM

1
你救了我的日子。AWS的文档越来越差。
卡纳伊扬

此选项对我有用,因为我需要升级/usr/local/aws(而不是/home/ubuntu/.local/bin/aws)供jenkins用户使用
hit3k

AWS的文档确实在迅速恶化。这是正确的答案,我不明白为什么提问者接受他们在编辑中清楚说明的答案不起作用-点子软件包通常落后于最新版本,这在使用EKS之类的新内容时会出现问题。注意:我必须退出外壳并重新登录,然后aws命令才能获取新版本。不知道为什么。
迪克·切斯特伍德

24

这不起作用:

pip install-升级awscli

这在Ubuntu 14.04上运行良好(无需也重新启动..您必须先安装pip3):

pip3 install-升级awscli


4
这可能需要:apt-get install python3-pip 在Ubuntu 14.04上,任何一个命令对我来说都同样有效。
dannyman '17

12

对于Ubuntu 16.04,我使用了其他答案和注释的一部分,只是重新加载了bash而不是重新启动。

我使用apt安装了aws-cli,因此首先将其删除:

sudo apt-get remove awscli

然后我可以进行pip安装(我选择使用sudo与pip2进行全局安装):

sudo pip install -U awscli

由于我是在服务器上执行此操作的,因此我不想重新启动它,但是重新加载bash可以解决问题:

source ~/.bashrc

此时,我可以使用新版本的aws cli

aws --version

1
感谢您的source ~/.bashrc步骤。:)
Pratik Patel

8

尝试 sudo pip install --upgrade awscli打开一个新的外壳。这对我来说效果很好(无需重新启动)。


在Mac OS上,我必须运行sudo pip install --upgrade awscli我的机器才能卸载awscli的先前版本(在成功完成初始升级后)
Lynn Langit

4

使用简单 sudo pip install awscli --force-reinstall --upgrade

这将升级所有必需的模块。


在我的jenkins机器上,我不想显式卸载cli,因此我使用了这种方法,并且像一个魅力一样工作!
URB

4

如果使用来安装AWS CLI时遇到问题,pip可以使用此处记录的“捆绑安装程序” 。

此处讨论的步骤如下:

$ 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

随后检查您的AWS CLI版本是否完整,检查是否正确执行了所有操作:

$ aws --version

如果AWS CLI没有按预期更新到最新版本,则可能是AWS CLI二进制文件位于其他位置,如先前提供的命令所假定的那样。

确定从以下位置执行AWS CLI的位置:

$ which aws

就我而言,AWS CLI是从执行的/bin/aws,因此我必须使用该位置来安装“捆绑安装程序”,如下所示:

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

使用捆绑的安装程序使生成的docker映像比使用pip更大...令人震惊
乍得格兰特

安装后可能需要打开新的外壳-出于某种原因,“ aws”在退出并重新启动之前不会指向新的安装。
迪克·切斯特伍德

4

在Mac上,您可以使用自制程序:

安装: brew install awscli

升级: brew upgrade awscli

确保没有多个安装: where aws


2
pip install awscli --upgrade --user

--upgrade选项告诉pip升级已安装的所有要求。该--user选项告诉pip将程序安装到用户目录的子目录中,以避免修改操作系统使用的库。



0

使用时sudo pip install --upgrade awscli出现以下错误:

ERROR: Could not install packages due to an EnvironmentError: [Errno 30] Read-only file system: '/lib'

通过将sudo与-H选项一起使用,可以解决此问题。

sudo -H pip install --upgrade awscli

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.