

**本文档仅适用于 AWS CLI 版本 1。**

我们已宣布即将终止对 AWS CLI 版本 1 的支持。建议您迁移到 AWS CLI 版本 2。有关日期、其它详细信息以及如何迁移的信息，请参阅[公告](https://aws.amazon.com/blogs/developer/cli-v1-maintenance-mode-announcement/)。有关 AWS CLI 版本 2 的相关文档，请参阅[版本 2 用户指南](https://docs.aws.amazon.com/cli/latest/userguide/)。

# 安装、更新和卸载 AWS CLI
<a name="cli-chap-install"></a>

本主题提供用于安装、更新和卸载 AWS Command Line Interface (AWS CLI) 原始版本的链接。当前支持 AWS CLI 版本 1，但添加到 AWS CLI 版本 2 的新功能可能未添加到 AWS CLI 版本 1。要使用这些功能，您必须安装 AWS CLI 版本 2。有关如何安装版本 2 的信息，请参阅[安装 AWS CLI 版本 2](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-getting-started.html)。

**Topics**
+ [Python 版本要求](#cli-chap-install-python)
+ [Amazon Linux](install-linux-al2017.md)
+ [Linux](install-linux.md)
+ [macOS](install-macos.md)
+ [Windows](install-windows.md)
+ [Virtualenv](install-virtualenv.md)

## Python 版本要求
<a name="cli-chap-install-python"></a>

AWS CLI 版本 1 使用 SDK for Python 构建，因此需要安装 Python 的兼容版本。

**Python 版本支持矩阵**


| AWS CLI version | 支持的 Python 版本 | 
| --- | --- | 
| 1.39.0 – 当前 | Python 3.9\$1 | 
| 1.32.0 – 1.38.38 | Python 3.8\$1 | 
| 1.27.0 – 1.31.x | Python 3.7\$1 | 
| 1.20.0 – 1.26.x | Python 3.6\$1 | 
| 1.19.0 — 1.19.x | Python 2.7\$1、Python 3.6\$1 | 
| 1.17 – 1.18.x | Python 2.7\$1、Python 3.4\$1 | 
| 1.0 – 1.16.x | Python 2.6 及更早版本，Python 3.3 及更早版本 | 

有关 AWS CLI 最新版本的信息，请参阅 GitHub 上的 [AWS CLI 版本 2 更改日志](https://raw.githubusercontent.com/aws/aws-cli/v2/CHANGELOG.rst)。

# 在 Linux 上安装、更新和卸载 AWS CLI 版本 1
<a name="install-linux-al2017"></a>

AWS CLI 版本 1 已预安装在 Amazon Linux 和 Amazon Linux 2 上。使用以下命令检查当前安装的版本。

```
$ aws --version
aws-cli/1.40.41 Python/3.11.6 Linux/5.10.205-195.807.amzn2.x86_64 botocore/1.18.6
```

根据您创建 Amazon Linux 实例的时间，使用下列程序包管理器之一来预安装 AWS CLI 版本 1：
+ [pip](#install-amazon-linux-pip)：
+ [yum](#install-amazon-linux-yum)

## 先决条件
<a name="install-amazon-linux-prereq"></a>

您必须已安装 Python 3.8 或更高版本。有关安装说明，请参阅 Python 的*初学者指南* 中的[下载 Python](https://wiki.python.org/moin/BeginnersGuide/Download) 页面。

**Python 版本支持矩阵**


| AWS CLI version | 支持的 Python 版本 | 
| --- | --- | 
| 1.39.0 – 当前 | Python 3.9\$1 | 
| 1.32.0 – 1.38.38 | Python 3.8\$1 | 
| 1.27.0 – 1.31.x | Python 3.7\$1 | 
| 1.20.0 – 1.26.x | Python 3.6\$1 | 
| 1.19.0 — 1.19.x | Python 2.7\$1、Python 3.6\$1 | 
| 1.17 – 1.18.x | Python 2.7\$1、Python 3.4\$1 | 
| 1.0 – 1.16.x | Python 2.6 及更早版本，Python 3.3 及更早版本 | 

## 使用 pip 进行安装、更新和卸载
<a name="install-amazon-linux-pip"></a>

 大多数 Amazon Linux 实例都使用 pip 来预安装 AWS CLI 版本 1。

### 使用 pip 在 Amazon Linux 上安装或更新 AWS CLI 版本 1
<a name="install-amazon-linux-pip-install"></a>

要为当前用户安装最新版本的 AWS CLI 版本 1，请按以下说明操作。

1. 如果您安装了 Python 3 或更高版本，我们建议您使用 `pip3`。使用 `pip3 install` 安装或更新至 AWS CLI 版本 1 的最新版本。如果您在 [Python 虚拟环境 (venv)](https://docs.python.org/3/library/venv.html) 中运行命令，则不需要使用 `--user` 选项。

   ```
   $ pip3 install --upgrade --user awscli
   ```

1. 确保包含 `aws` 的文件夹是您的 `PATH` 变量的一部分。

   1. 在您的用户目录中查找 Shell 的配置文件脚本。如果您不能确定所使用的 Shell，请运行 `echo $SHELL`。

      ```
      $ ls -a ~
      .  ..  .bash_logout  .bash_profile  .bashrc  Desktop  Documents  Downloads
      ```
      + **Bash** – `.bash_profile`、`.profile` 或 `.bash_login`
      + **Zsh** – `.zshrc`
      + **Tcsh** – `.tcshrc`、`.cshrc` 或 `.login`

   1. 在配置文件脚本末尾添加与以下示例类似的导出命令。

      ```
      export PATH=$HOME/.local/bin:$PATH
      ```

      此命令将路径（在本示例中为 `$HOME/.local/bin`）插入到现有 `$PATH` 变量的前面。

   1. 将配置文件重新加载到当前会话中，以使更改生效。

      ```
      $ source ~/.bash_profile
      ```

1. 要验证是否正在运行新版本，请使用 `aws --version` 命令。

   ```
   $ aws --version
   aws-cli/1.40.41 Python/3.11.6 Linux/5.10.205-195.807.amzn2.x86_64 botocore/1.18.6
   ```

### 使用 pip 卸载 AWS CLI 版本 1
<a name="install-amazon-linux-pip-uninstall"></a>

如果需要卸载 AWS CLI，请使用 `pip uninstall`。

```
$ pip3 uninstall awscli
```

## 使用 yum 进行安装、更新和卸载
<a name="install-amazon-linux-yum"></a>

大多数 Amazon Linux 2 实例都使用 yum 来预安装 AWS CLI 版本 1。

### 使用 yum 在 Amazon Linux 上安装或更新 AWS CLI 版本 1
<a name="install-amazon-linux-yum-install"></a>

要安装 Amazon Linux 上提供的 AWS CLI 版本 1 的最新版本，请运行以下命令。

```
$ sudo yum install awscli
```

要更新到 Amazon Linux 上提供的 AWS CLI 版本 1 的最新版本，请运行以下命令。

```
$ sudo yum update awscli
```

要验证是否正在运行更高的版本，请使用 `aws --version` 命令。

```
$ aws --version
aws-cli/1.40.41 Python/3.11.6 Linux/5.10.205-195.807.amzn2.x86_64 botocore/1.18.6
```

### 使用 yum 卸载 AWS CLI 版本 1
<a name="install-amazon-linux-yum-uninstall"></a>

要卸载 AWS CLI，请使用 `yum remove`。

```
$ sudo yum remove awscli
```

## AWS CLI 安装和卸载错误故障排除
<a name="install-amazon-linux-tshoot"></a>

如果您在安装或卸载 AWS CLI 后遇到问题，请参阅[排查 AWS CLI 错误](cli-chap-troubleshooting.md)以了解故障排除步骤。有关相关性最高的故障排除步骤，请参阅[找不到命令错误](cli-chap-troubleshooting.md#tshoot-install-not-found)、[“`aws --version`”命令返回的版本与您安装的版本不同](cli-chap-troubleshooting.md#tshoot-install-wrong-version)和[卸载 AWS CLI 后，“`aws --version`”命令返回一个版本](cli-chap-troubleshooting.md#tshoot-uninstall-1)。

# 在 Linux 上安装、更新和卸载 AWS CLI 版本 1
<a name="install-linux"></a>

您可以使用 AWS Command Line Interface 程序包管理器或捆绑安装程序安装 AWS CLI (`pip`) 版本 1 及其对大多数 Linux 发行版的依赖项。

尽管其他程序包管理器（如 `awscli` 和 `apt`）的存储库中提供了 `yum` 程序包，但它们不是由 AWS 生产、管理和支持的。我们建议您仅从本指南中记载的官方 AWS CLI 发行点安装 AWS。

**Topics**
+ [先决条件](#install-linux-prereqs)
+ [在 Linux 上使用捆绑安装程序安装和卸载 AWS CLI 版本 1](#install-linux-bundled)
+ [使用 pip 安装和卸载 AWS CLI 版本 1](#install-linux-pip)
+ [使用 Snapcraft 安装和卸载 AWS CLI 版本 1](#install-linux-snap)
+ [将 AWS CLI 版本 1 可执行文件添加到命令行路径](#install-linux-path)
+ [AWS CLI 安装和卸载错误故障排除](#install-linux-tshoot)

## 先决条件
<a name="install-linux-prereqs"></a>

您必须已安装 Python 3.8 或更高版本。有关安装说明，请参阅 Python 的*初学者指南* 中的[下载 Python](https://wiki.python.org/moin/BeginnersGuide/Download) 页面。

**Python 版本支持矩阵**


| AWS CLI version | 支持的 Python 版本 | 
| --- | --- | 
| 1.39.0 – 当前 | Python 3.9\$1 | 
| 1.32.0 – 1.38.38 | Python 3.8\$1 | 
| 1.27.0 – 1.31.x | Python 3.7\$1 | 
| 1.20.0 – 1.26.x | Python 3.6\$1 | 
| 1.19.0 — 1.19.x | Python 2.7\$1、Python 3.6\$1 | 
| 1.17 – 1.18.x | Python 2.7\$1、Python 3.4\$1 | 
| 1.0 – 1.16.x | Python 2.6 及更早版本，Python 3.3 及更早版本 | 

## 在 Linux 上使用捆绑安装程序安装和卸载 AWS CLI 版本 1
<a name="install-linux-bundled"></a>

在 Linux 或 macOS 上，可以使用捆绑安装程序来安装 AWS CLI 的版本 1。捆绑安装程序包含所有依赖项，并可以离线使用。

**注意**  
捆绑安装程序不支持安装到包含空格的路径。

**Topics**
+ [使用捆绑安装程序（带有 `sudo`）安装 AWS CLI 版本 1](#install-linux-bundled-sudo)
+ [使用捆绑安装程序（不带有 `sudo`）安装 AWS CLI 版本 1](#install-linux-bundled-no-sudo)
+ [卸载 AWS CLI 版本 1 捆绑安装程序](#install-linux-bundled-uninstall)

### 使用捆绑安装程序（带有 `sudo`）安装 AWS CLI 版本 1
<a name="install-linux-bundled-sudo"></a>

以下步骤使您能够从任何版本的 Linux 或 macOS 上的命令行安装 AWS CLI 版本 1。

以下是可剪切和粘贴以作为一组命令运行的安装命令的摘要，各个命令的具体解释见下文。

**对于最新版本的 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
```

**对于特定版本的 AWS CLI，**在文件名后附加一个连字符和版本号。在本示例中，版本 *1.16.312* 的文件名为 `awscli-bundle-1.16.312.zip`，这会生成以下命令：

```
$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip" -o "awscli-bundle.zip"
unzip awscli-bundle.zip
sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws
```

使用捆绑安装程序，在命令行中执行以下步骤来安装 AWS CLI 版本 1。

**要使用捆绑安装程序安装 AWS CLI 版本 1**

1. 使用以下方法之一下载 AWS CLI 版本 1 捆绑安装程序。
   + 使用 `curl` 命令下载。

     **对于最新版本的 AWS CLI，**请使用以下命令块：

     ```
     $ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
     ```

     **对于特定版本的 AWS CLI，**在文件名后附加一个连字符和版本号。在本示例中，版本 *1.16.312* 的文件名为 `awscli-bundle-1.16.312.zip`，这会生成以下命令：

     ```
     $ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip" -o "awscli-bundle.zip"
     ```
   + 使用直接链接下载。

     **对于最新版本的 AWS CLI：**[https://s3.amazonaws.com/aws-cli/awscli-bundle.zip](https://s3.amazonaws.com/aws-cli/awscli-bundle.zip)

     **对于特定版本的 AWS CLI**，在文件名后附加一个连字符和版本号。在本示例中，版本 *1.16.312* 的文件名为 `awscli-bundle-1.16.312.zip`，这会生成以下 URL [https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip](https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip)

1. 从程序包中提取文件。如果没有 `unzip` 来提取文件，请使用 Linux 发行版的内置程序包管理器进行安装。

   ```
   $ unzip awscli-bundle.zip
   ```

1. 运行安装程序。安装程序在 AWS CLI 中安装 `/usr/local/aws`，并在 `aws` 目录中创建符号链接 `/usr/local/bin`。使用 `-b` 选项创建符号链接将免除在用户的 `$PATH` 变量中指定安装目录的需要。这应该能让所有用户通过在任何目录下输入 AWS CLI 来调用 `aws`。

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

   默认情况下，安装脚本在系统默认版本的 Python 下运行。如果已安装 Python 的备选版本并希望使用该版本安装 AWS CLI，请使用该版本按 Python 可执行文件的绝对路径运行安装脚本，如下所示。

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

1. 验证 AWS CLI 是否已正确安装。

   ```
   $ aws --version
   aws-cli/1.40.41 Python/3.11.6 Linux/5.10.205-195.807.amzn2.x86_64 botocore/1.18.6
   ```

   如果出现错误，请参阅[排查 AWS CLI 错误](cli-chap-troubleshooting.md)。

### 使用捆绑安装程序（不带有 `sudo`）安装 AWS CLI 版本 1
<a name="install-linux-bundled-no-sudo"></a>

如果您没有 `sudo` 权限，或打算仅为当前用户安装 AWS CLI，则可使用先前命令的修改版本。前两个命令是相同的。

**对于最新版本的 AWS CLI，**请使用以下命令块：

```
$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
unzip awscli-bundle.zip
./awscli-bundle/install -b ~/bin/aws
```

**对于特定版本的 AWS CLI，**在文件名后附加一个连字符和版本号。在本示例中，版本 *1.16.312* 的文件名为 `awscli-bundle-1.16.312.zip`，这会生成以下命令：

```
$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip" -o "awscli-bundle.zip"
unzip awscli-bundle.zip
./awscli-bundle/install -b ~/bin/aws
```

**要为当前用户安装 AWS CLI 版本 1**

1. 使用以下方式之一下载 AWS CLI 版本 1 捆绑安装程序。
   + 使用 `curl` 命令下载。

     **对于最新版本的 AWS CLI，**请使用以下命令块：

     ```
     $ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
     ```

     **对于特定版本的 AWS CLI，**在文件名后附加一个连字符和版本号。在本示例中，版本 *1.16.312* 的文件名为 `awscli-bundle-1.16.312.zip`，这会生成以下命令：

     ```
     $ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip" -o "awscli-bundle.zip"
     ```
   + 使用直接链接下载。

     **对于最新版本的 AWS CLI：**[https://s3.amazonaws.com/aws-cli/awscli-bundle.zip](https://s3.amazonaws.com/aws-cli/awscli-bundle.zip)

     **对于特定版本的 AWS CLI**，在文件名后附加一个连字符和版本号。在本示例中，版本 *1.16.312* 的文件名为 `awscli-bundle-1.16.312.zip`，这会生成以下 URL：[https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip](https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip)

1. 使用 `unzip` 从程序包中提取文件。如果没有 `unzip`，请使用 Linux 发行版的内置程序包管理器进行安装。

   ```
   $ unzip awscli-bundle.zip
   ```

1. 运行安装程序。安装程序在 AWS CLI 中安装 `/usr/local/aws`，并在 `aws` 目录中创建符号链接 `/usr/local/bin`。此命令使用 `-b` 参数以指定安装程序放置 `aws` 符号链接文件的目录。您必须具有对指定文件夹的写入权限。

   ```
   $ ./awscli-bundle/install -b ~/bin/aws
   ```

   这会将 AWS CLI 安装到默认位置 (`~/.local/lib/aws`) 并在 `~/bin/aws` 中创建符号链接 (symlink)。确保您的 `~/bin` 环境变量中包含 `PATH`，以使该符号链接生效。

   ```
   $ echo $PATH | grep ~/bin     // See if $PATH contains ~/bin (output will be empty if it doesn't)
   $ export PATH=~/bin:$PATH     // Add ~/bin to $PATH if necessary
   ```

1. 确保包含 AWS CLI 版本 1 的目录是您的 `PATH` 变量的一部分。

   1. 在您的用户文件夹中查找 Shell 的配置文件脚本。如果您不能确定所使用的 Shell，请运行 `echo $SHELL`。

      ```
      $ ls -a ~
      .  ..  .bash_logout  .bash_profile  .bashrc  Desktop  Documents  Downloads
      ```
      + **Bash** – `.bash_profile`、`.profile` 或 `.bash_login`
      + **Zsh** – `.zshrc`
      + **Tcsh** – `.tcshrc`、`.cshrc` 或 `.login`

   1. 在配置文件脚本末尾添加与以下示例类似的导出命令。

      ```
      export PATH=~/.local/bin:$PATH
      ```

      此命令将路径（在本示例中为 `~/.local/bin`）插入到现有 `PATH` 变量的前面。

   1. 将配置文件重新加载到当前会话中，以使更改生效。

      ```
      $ source ~/.bash_profile
      ```

1. 验证 AWS CLI 是否已正确安装。

   ```
   $ aws --version
   aws-cli/1.40.41 Python/3.11.6 Linux/5.10.205-195.807.amzn2.x86_64 botocore/1.18.6
   ```

   如果出现错误，请参阅[排查 AWS CLI 错误](cli-chap-troubleshooting.md)。

### 卸载 AWS CLI 版本 1 捆绑安装程序
<a name="install-linux-bundled-uninstall"></a>

1. 如果使用捆绑安装程序安装了 AWS CLI，请按照以下说明进行操作。除了可选的符号链接之外，捆绑安装程序不会将任何内容放在安装目录之外，所以卸载十分简单，就是直接删除这两个项目。

   ```
   $ sudo rm -rf /usr/local/aws
   $ sudo rm -rf /usr/local/bin/aws
   ```

1. **（可选）**删除 `.aws` 文件夹中的共享 AWS SDK 和 AWS CLI 设置信息。
**警告**  
这些配置和凭证设置跨所有 AWS SDK 和 AWS CLI 进行共享。如果删除此文件夹，则您系统上的任何 AWS SDK 都无法访问它们。

   `.aws` 文件夹的默认位置因平台而异，默认情况下，该文件夹位于 *\$1/.aws/*。如果您的用户对此目录具有写入权限，则无需使用 `sudo`。

   ```
   $ sudo rm -r ~/.aws/
   ```

## 使用 pip 安装和卸载 AWS CLI 版本 1
<a name="install-linux-pip"></a>

**Topics**
+ [安装 pip](#install-linux-pip-pip)
+ [使用 pip 安装和更新 AWS CLI 版本 1](#install-linux-awscli)
+ [使用 pip 卸载 AWS CLI](#post-install-uninstall)

### 安装 pip
<a name="install-linux-pip-pip"></a>

如果尚未安装 `pip`，可以使用 *Python 打包权威机构* 提供的脚本进行安装。运行 `pip --version` 可查看您的 Linux 版本是否已包含 Python 和 `pip`。如果您安装了 Python 3 或更高版本，我们建议您使用 `pip3` 命令。

1. 使用 `curl` 命令下载安装脚本。以下命令使用 `-O`（大写字母“O”）参数指定下载的文件将使用与远程主机上相同的名称存储在当前的目录中。

   ```
   $ curl -O https://bootstrap.pypa.io/get-pip.py
   ```

1. 使用 `python` 或 `python3` 命令运行脚本以下载并安装最新版本的 `pip` 和其他必需的支持包。当您包含 `--user` 开关时，脚本将 `pip` 安装到路径 `~/.local/bin`。

   ```
   $ python3 get-pip.py --user
   ```

1. 确保包含 `pip` 的目录是您的 `PATH` 变量的一部分。

   1. 在您的用户文件夹中查找 Shell 的配置文件脚本。如果您不能确定所使用的 Shell，请运行 `echo $SHELL`。

      ```
      $ ls -a ~
      .  ..  .bash_logout  .bash_profile  .bashrc  Desktop  Documents  Downloads
      ```
      + **Bash** – `.bash_profile`、`.profile` 或 `.bash_login`
      + **Zsh** – `.zshrc`
      + **Tcsh** – `.tcshrc`、`.cshrc` 或 `.login`

   1. 在配置文件脚本末尾添加与以下示例类似的导出命令。

      ```
      export PATH=~/.local/bin:$PATH
      ```

      此命令将路径（在本示例中为 `~/.local/bin`）插入到现有 `PATH` 变量的前面。

   1. 将配置文件重新加载到当前会话中，以使更改生效。

      ```
      $ source ~/.bash_profile
      ```

1. 要验证 `pip` 是 `pip3` 否已正确安装，请运行以下命令。

   ```
   $ pip3 --version
   pip 24.0 from ~/.local/lib/python3.7/site-packages (python 3.7)
   ```

### 使用 pip 安装和更新 AWS CLI 版本 1
<a name="install-linux-awscli"></a>

1. 使用 `pip` 或 `pip3` 命令安装或更新 AWS CLI。如果您使用的是 Python 3 或更高版本，我们建议您使用 `pip3` 命令。使用 `--user` 开关时，`pip` 将 AWS CLI 安装到 `~/.local/bin`。

   **对于最新版本的 AWS CLI**，请使用以下命令块：

   ```
   $ pip3 install awscli --upgrade --user
   ```

   **对于特定版本的 AWS CLI**，在文件名后附加两个等号 `=` 和版本号。在本示例中，版本 *1.16.312* 的文件名为 *==1.16.312*，这会生成以下命令：

   ```
   $ pip3 install awscli==1.16.312 --upgrade --user
   ```
**注意**  
为您的终端使用适当的引用规则。要使用 `=` 字符，您可能需要使用单引号或双引号适当地进行转义。以下示例使用单引号进行转义：  

   ```
   $ pip3 install 'awscli==1.16.312' --upgrade --user
   ```

1. 验证 AWS CLI 是否已正确安装。

   ```
   $ aws --version
   aws-cli/1.40.41 Python/3.11.6 Linux/5.10.205-195.807.amzn2.x86_64 botocore/1.18.6
   ```

   如果出现错误，请参阅[排查 AWS CLI 错误](cli-chap-troubleshooting.md)。

### 使用 pip 卸载 AWS CLI
<a name="post-install-uninstall"></a>

1. 如果您使用 `pip` 安装了 AWS CLI 版本 1，则还必须使用 `pip` 进行卸载。

   ```
   $ pip uninstall awscli
   ```

    如果您使用的是 Python 版本 2 或 3，则可能需要使用 `pip2` 或 `pip3` 命令。使用 `aws --version` 命令确定与您安装的 AWS CLI 版本 1 关联的 Python 版本。

   ```
   $ pip3 uninstall awscli
   ```

   您可能需要重新启动命令提示符窗口或电脑才能删除所有文件。

1. **（可选）**删除 `.aws` 文件夹中的共享 AWS SDK 和 AWS CLI 设置信息。
**警告**  
这些配置和凭证设置跨所有 AWS SDK 和 AWS CLI 进行共享。如果删除此文件夹，则您系统上的任何 AWS SDK 都无法访问它们。

   `.aws` 文件夹的默认位置因平台而异，默认情况下，该文件夹位于 *\$1/.aws/*。如果您的用户对此目录具有写入权限，则无需使用 `sudo`。

   ```
   $ sudo rm -r ~/.aws/
   ```

## 使用 Snapcraft 安装和卸载 AWS CLI 版本 1
<a name="install-linux-snap"></a>

**Topics**
+ [安装 snap](#install-linux-snap-install)
+ [使用 snap 安装和更新 AWS CLI 版本 1](#install-linux-snap-update)
+ [使用 snap 卸载 AWS CLI](#install-linux-snap-uninstall)

### 安装 snap
<a name="install-linux-snap-install"></a>

如果尚未安装 `snap`，可以使用 *Canonical Snapcraft* 提供的说明进行安装。运行 `snap version` 可查看您的 Linux 版本是否已包含 `snap`。

1. 在您的平台上安装 Snapcraft。有关安装 Snapcraft 的信息，请参阅《Snap 文档》**中的[安装进程守护程序](https://snapcraft.io/docs/installing-snapd)。

1. 重新启动系统，以便正确更新 `PATH` 变量。如果您遇到安装问题，请按照《Snap 文档》**中[修复常见问题](https://snapcraft.io/docs/fix-common-issues)中的步骤操作。

1. 要验证 `snap` 是否已正确安装，请运行以下命令：

   ```
   $ snap version
   ```

### 使用 snap 安装和更新 AWS CLI 版本 1
<a name="install-linux-snap-update"></a>

1. 为 AWS CLI 版本 1 运行以下 `snap install` 命令

   ```
   $ snap install aws-cli --channel=v1/stable --classic
   ```

   根据您的权限，您可能需要将 `sudo` 添加到命令中。

   ```
   $ sudo snap install aws-cli --channel=v1/stable --classic
   ```

1. 验证 AWS CLI 是否已正确安装。

   ```
   $ aws --version
   aws-cli/1.40.41 Python/3.11.6 Linux/5.10.205-195.807.amzn2.x86_64 botocore/1.18.6
   ```

   如果出现错误，请参阅[排查 AWS CLI 错误](cli-chap-troubleshooting.md)。

### 使用 snap 卸载 AWS CLI
<a name="install-linux-snap-uninstall"></a>

1. 如果您使用 `snap` 安装了 AWS CLI 版本 1，则还必须使用 `snap` 进行卸载。

   ```
   $ snap remove aws-cli
   ```

   您可能需要重新启动命令提示符窗口或电脑才能删除所有文件。

1. **（可选）**删除 `.aws` 文件夹中的共享 AWS SDK 和 AWS CLI 设置信息。
**警告**  
这些配置和凭证设置跨所有 AWS SDK 和 AWS CLI 进行共享。如果删除此文件夹，则您系统上的任何 AWS SDK 都无法访问它们。

   `.aws` 文件夹的默认位置因平台而异，默认情况下，该文件夹位于 *\$1/.aws/*。如果您对此目录具有写入权限，则无需使用 `sudo`。

   ```
   $ sudo rm -r ~/.aws/
   ```

## 将 AWS CLI 版本 1 可执行文件添加到命令行路径
<a name="install-linux-path"></a>

在使用 `pip` 或 `snap` 进行安装后，可能需要将 `aws` 可执行文件添加到操作系统的 `PATH` 环境变量中。

您可以运行以下命令验证 `pip` 已将 AWS CLI 安装到哪个文件夹中。

```
$ which aws
/home/username/.local/bin/aws
```

您可以将此路径 `~/.local/bin/` 作为参考，因为在 Linux 中 `/home/username` 对应于 `~`。

如果您忽略了 `--user` 开关且未在用户模式下安装，可执行文件可能位于 Python 安装的 `bin` 文件夹中。如果您不知道 Python 的安装位置，请运行此命令。

```
$ which python
/usr/local/bin/python
```

输出可能是符号链接的路径，而不是实际的可执行文件。运行 `ls -al` 以查看所指向的路径。

```
$ ls -al /usr/local/bin/python
/usr/local/bin/python -> ~/.local/Python/3.6/bin/python3.6
```

`pip` 将程序安装到 Python 应用程序所在的文件夹中。将此文件夹添加到 `PATH` 变量。

**修改您的 `PATH` 变量**

1. 在您的用户目录中查找 Shell 的配置文件脚本。如果您不能确定所使用的 Shell，请运行 `echo $SHELL`。

   ```
   $ ls -a ~
   .  ..  .bash_logout  .bash_profile  .bashrc  Desktop  Documents  Downloads
   ```
   + **Bash**：`.bash_profile`、`.profile` 或 `.bash_login`
   + **Zsh** – `.zshrc`
   + **Tcsh**：`.tcshrc`、`.cshrc` 或 `.login`

1. 向配置文件脚本中添加导出命令。

   ```
   export PATH=~/.local/bin:$PATH
   ```

   在本示例中，此命令将路径 `~/.local/bin` 添加到当前 `PATH` 变量中。

1. 将更新的配置文件加载到当前会话中。

   ```
   $ source ~/.bash_profile
   ```

## AWS CLI 安装和卸载错误故障排除
<a name="install-linux-tshoot"></a>

如果您在安装或卸载 AWS CLI 后遇到问题，请参阅[排查 AWS CLI 错误](cli-chap-troubleshooting.md)以了解故障排除步骤。有关相关性最高的故障排除步骤，请参阅[找不到命令错误](cli-chap-troubleshooting.md#tshoot-install-not-found)、[“`aws --version`”命令返回的版本与您安装的版本不同](cli-chap-troubleshooting.md#tshoot-install-wrong-version)和[卸载 AWS CLI 后，“`aws --version`”命令返回一个版本](cli-chap-troubleshooting.md#tshoot-uninstall-1)。

# 在 macOS 上安装、更新和卸载 AWS CLI 版本 1
<a name="install-macos"></a>

您可以使用捆绑安装程序或 AWS Command Line Interface 安装 AWS CLI (`pip`) 版本 1 及其对 macOS 的依赖项。

**Topics**
+ [先决条件](#install-macosos-prereq)
+ [使用捆绑安装程序在 macOS 上安装、更新和卸载 AWS CLI 版本 1](#install-macosos-bundled)
+ [使用 pip 安装、更新和卸载 AWS CLI 版本 1](#awscli-install-osx-pip)
+ [AWS CLI 安装和卸载错误故障排除](#awscli-install-osx-tshoot)

## 先决条件
<a name="install-macosos-prereq"></a>

必须先确保已安装 Python 3.8 或更高版本，然后才能在 macOS 上安装 AWS CLI 版本 1。有关安装说明，请参阅 Python 的*初学者指南* 中的[下载 Python](https://wiki.python.org/moin/BeginnersGuide/Download) 页面。

**Python 版本支持矩阵**


| AWS CLI version | 支持的 Python 版本 | 
| --- | --- | 
| 1.39.0 – 当前 | Python 3.9\$1 | 
| 1.32.0 – 1.38.38 | Python 3.8\$1 | 
| 1.27.0 – 1.31.x | Python 3.7\$1 | 
| 1.20.0 – 1.26.x | Python 3.6\$1 | 
| 1.19.0 — 1.19.x | Python 2.7\$1、Python 3.6\$1 | 
| 1.17 – 1.18.x | Python 2.7\$1、Python 3.4\$1 | 
| 1.0 – 1.16.x | Python 2.6 及更早版本，Python 3.3 及更早版本 | 

## 使用捆绑安装程序在 macOS 上安装、更新和卸载 AWS CLI 版本 1
<a name="install-macosos-bundled"></a>

在 Linux 或 macOS 上，可以使用捆绑安装程序来安装 AWS Command Line Interface (AWS CLI) 的版本 1。捆绑安装程序包含所有依赖项，并可以离线使用。

捆绑安装程序不支持安装到包含空格的路径。

**Topics**
+ [使用捆绑安装程序（带有 `sudo`）安装 AWS CLI 版本 1](#install-macosos-bundled-sudo)
+ [使用捆绑安装程序（不带有 `sudo`）安装 AWS CLI 版本 1](#install-macosos-bundled-no-sudo)
+ [卸载 AWS CLI 版本 1 捆绑安装程序](#install-macosos-bundled-uninstall)

### 使用捆绑安装程序（带有 `sudo`）安装 AWS CLI 版本 1
<a name="install-macosos-bundled-sudo"></a>

以下步骤使您能够从任何版本的 macOS 上的命令行安装 AWS CLI 版本 1。

以下是可剪切和粘贴以作为一组命令运行的安装命令的摘要。

**对于最新版本的 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
```

**对于特定版本的 AWS CLI，**在文件名后附加一个连字符和版本号。在本示例中，版本 *1.16.312* 的文件名为 `awscli-bundle-1.16.312.zip`，这会生成以下命令：

```
$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip" -o "awscli-bundle.zip"
unzip awscli-bundle.zip
sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws
```

**要使用捆绑安装程序安装 AWS CLI 版本 1**

1. 使用以下方式之一下载 AWS CLI 版本 1 捆绑安装程序：
   + 使用 `curl` 命令下载。

     **对于最新版本的 AWS CLI，**请使用以下命令块：

     ```
     $ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
     ```

     **对于特定版本的 AWS CLI，**在文件名后附加一个连字符和版本号。在本示例中，版本 *1.16.312* 的文件名为 `awscli-bundle-1.16.312.zip`，这会生成以下命令：

     ```
     $ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip" -o "awscli-bundle.zip"
     ```
   + 使用直接链接下载。

     **对于最新版本的 AWS CLI：**[https://s3.amazonaws.com/aws-cli/awscli-bundle.zip](https://s3.amazonaws.com/aws-cli/awscli-bundle.zip)

     **对于特定版本的 AWS CLI**，在文件名后附加一个连字符和版本号。在本示例中，版本 *1.16.312* 的文件名为 `awscli-bundle-1.16.312.zip`，这会生成以下 URL：[https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip](https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip)

1. 从程序包中提取（解压缩）文件。如果没有 `unzip`，请使用 macOs 发行版的内置程序包管理器进行安装。

   ```
   $ unzip awscli-bundle.zip
   ```

1. 运行安装程序。安装程序在 AWS CLI 中安装 `/usr/local/aws`，并在 `aws` 文件夹中创建符号链接 `/usr/local/bin`。使用 `-b` 选项创建符号链接将免除在用户的 `$PATH` 变量中指定安装文件夹的需要。这应该能让所有用户通过在任何目录下输入 `aws` 来调用 AWS CLI。

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

   默认情况下，安装脚本在系统默认版本的 Python 下运行。如果已安装 Python 的可选版本并希望使用该版本安装 AWS CLI，请使用该版本按 Python 可执行文件的绝对路径运行安装脚本，如下所示。

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

1. 验证 AWS CLI 是否已正确安装。

   ```
   $ aws --version
   aws-cli/1.40.41 Python/3.11.6 Linux/5.10.205-195.807.amzn2.x86_64 botocore/1.18.6
   ```

   如果出现错误，请参阅[排查 AWS CLI 错误](cli-chap-troubleshooting.md)。

### 使用捆绑安装程序（不带有 `sudo`）安装 AWS CLI 版本 1
<a name="install-macosos-bundled-no-sudo"></a>

如果您没有 `sudo` 权限，或打算仅为当前用户安装 AWS CLI，则可使用先前命令的修改版本。前两个命令是相同的。

**对于最新版本的 AWS CLI，**请使用以下命令块：

```
$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
unzip awscli-bundle.zip
./awscli-bundle/install -b ~/bin/aws
```

**对于特定版本的 AWS CLI，**在文件名后附加一个连字符和版本号。在本示例中，版本 *1.16.312* 的文件名为 `awscli-bundle-1.16.312.zip`，这会生成以下命令：

```
$ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip" -o "awscli-bundle.zip"
unzip awscli-bundle.zip
./awscli-bundle/install -b ~/bin/aws
```

**为当前用户安装 AWS CLI 版本 1**

1. 使用以下方法之一下载 AWS CLI 版本 1 捆绑安装程序：
   + 使用 `curl` 命令下载。

     **对于最新版本的 AWS CLI，**请使用以下命令块：

     ```
     $ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle.zip" -o "awscli-bundle.zip"
     ```

     **对于特定版本的 AWS CLI，**在文件名后附加一个连字符和版本号。在本示例中，版本 *1.16.312* 的文件名为 `awscli-bundle-1.16.312.zip`，这会生成以下命令：

     ```
     $ curl "https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip" -o "awscli-bundle.zip"
     ```
   + 使用直接链接下载。

     **对于最新版本的 AWS CLI：**[https://s3.amazonaws.com/aws-cli/awscli-bundle.zip](https://s3.amazonaws.com/aws-cli/awscli-bundle.zip)

     **对于特定版本的 AWS CLI**，在文件名后附加一个连字符和版本号。在本示例中，版本 *1.16.312* 的文件名为 `awscli-bundle-1.16.312.zip`，这会生成以下 URL [https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip](https://s3.amazonaws.com/aws-cli/awscli-bundle-1.16.312.zip)

1. 从程序包中提取文件。如果没有 `unzip`，请使用 Linux 发行版的内置程序包管理器进行安装。

   ```
   $ unzip awscli-bundle.zip
   ```

1. 运行安装程序。安装程序在 AWS CLI 中安装 `/usr/local/aws`，并在 `aws` 目录中创建符号链接 `/usr/local/bin`。此命令使用 `-b` 参数以指定安装程序放置 `aws` 符号链接文件的目录。您必须具有对指定目录的写入权限。

   ```
   $ ./awscli-bundle/install -b ~/bin/aws
   ```

   这会将 AWS CLI 安装到默认位置 (`~/.local/lib/aws`) 并在 `~/bin/aws` 中创建符号链接 (symlink)。确保您的 `~/bin` 环境变量中包含 `$PATH`，以使该符号链接生效。

   ```
   $ echo $PATH | grep ~/bin     // See if $PATH contains ~/bin (output will be empty if it doesn't)
   $ export PATH=~/bin:$PATH     // Add ~/bin to $PATH if necessary
   ```

1. 确保安装 AWS CLI 版本 1 的文件夹是 `$PATH` 变量的一部分。

   1. 在您的用户文件夹中查找 Shell 的配置文件脚本。如果您不能确定所使用的 Shell，请运行 `echo $SHELL`。

      ```
      $ ls -a ~
      .  ..  .bash_logout  .bash_profile  .bashrc  Desktop  Documents  Downloads
      ```
      + **Bash** – `.bash_profile`、`.profile` 或 `.bash_login`
      + **Zsh** – `.zshrc`
      + **Tcsh** – `.tcshrc`、`.cshrc` 或 `.login`

   1. 在配置文件脚本末尾添加与以下示例类似的导出命令。

      ```
      export PATH=~/.local/bin:$PATH
      ```

      此命令将路径（在本示例中为 `~/.local/bin`）插入到现有 `PATH` 变量的前面。

   1. 将配置文件重新加载到当前会话中，以使更改生效。

      ```
      $ source ~/.bash_profile
      ```

1. 验证 AWS CLI 是否已正确安装。

   ```
   $ aws --version
   aws-cli/1.40.41 Python/3.11.6 Linux/5.10.205-195.807.amzn2.x86_64 botocore/1.18.6
   ```

   如果出现错误，请参阅[排查 AWS CLI 错误](cli-chap-troubleshooting.md)。

### 卸载 AWS CLI 版本 1 捆绑安装程序
<a name="install-macosos-bundled-uninstall"></a>

1. 捆绑的安装程序将除可选符号链接之外的所有内容放在安装目录中，因此要卸载，您只需删除这两个项目即可。

   ```
   $ sudo rm -rf /usr/local/aws
   $ sudo rm /usr/local/bin/aws
   ```

1. **（可选）**删除 `.aws` 文件夹中的共享 AWS SDK 和 AWS CLI 设置信息。
**警告**  
这些配置和凭证设置跨所有 AWS SDK 和 AWS CLI 进行共享。如果删除此文件夹，则您系统上的任何 AWS SDK 都无法访问它们。

   `.aws` 文件夹的默认位置因平台而异，默认情况下，该文件夹位于 *\$1/.aws/*。如果您的用户对此目录具有写入权限，则无需使用 `sudo`。

   ```
   $ sudo rm ~/.aws/
   ```

## 使用 pip 安装、更新和卸载 AWS CLI 版本 1
<a name="awscli-install-osx-pip"></a>

您可以直接使用 `pip` 安装 AWS CLI。

**Topics**
+ [安装 pip](#awscli-install-osx-pip-pip)
+ [使用 pip 安装和更新 AWS CLI](#awscli-install-osx-pip-install)
+ [将 AWS CLI 版本 1 可执行文件添加到 macOS 命令行路径](#awscli-install-osx-path)
+ [使用 pip 卸载 AWS CLI](#awscli-install-osx-pip-uninstall)

### 安装 pip
<a name="awscli-install-osx-pip-pip"></a>

如果尚未安装 `pip`，可以使用 *Python 打包权威机构* 提供的脚本进行安装。运行 `pip --version` 可查看您的 Linux 版本是否已包含 Python 和 `pip`。如果您安装了 Python 3 或更高版本，我们建议您使用 `pip3` 命令。

1. 使用 `curl` 命令下载安装脚本。以下命令使用 `-O`（大写字母“O”）参数指定下载的文件将使用与远程主机上相同的名称存储在当前的文件夹中。

   ```
   $ curl -O https://bootstrap.pypa.io/get-pip.py
   ```

1. 使用 `python` 或 `python3` 命令运行脚本以下载并安装最新版本的 `pip` 和其他必需的支持包。当您包含 `--user` 开关时，脚本将 `pip` 安装到路径 `~/.local/bin`。

   ```
   $ python3 get-pip.py --user
   ```

### 使用 pip 安装和更新 AWS CLI
<a name="awscli-install-osx-pip-install"></a>

1. 使用 `pip` 或 `pip3` 命令安装 AWS CLI。如果您使用的是 Python 3 或更高版本，我们建议您使用 `pip3` 命令。

   **对于最新版本的 AWS CLI**，请使用以下命令块：

   ```
   $ pip3 install awscli --upgrade --user
   ```

   **对于特定版本的 AWS CLI**，在文件名后附加两个等号 `=` 和版本号。在本示例中，版本 *1.16.312* 的文件名为 *==1.16.312*，这会生成以下命令：

   ```
   $ pip3 install awscli==1.16.312 --upgrade --user
   ```
**注意**  
为您的终端使用适当的引用规则。要使用 `=` 字符，您可能需要使用单引号或双引号适当地进行转义。以下示例使用单引号进行转义：  

   ```
   $ pip3 install 'awscli==1.16.312' --upgrade --user
   ```

1. 验证 AWS CLI 是否已正确安装。

   ```
   $ aws --version
   aws-cli/1.40.41 Python/3.11.6 Darwin/23.3.0 botocore/1.18.6
   ```

   如果未找到该程序，请[将它添加到命令行路径](#awscli-install-osx-path)。

### 将 AWS CLI 版本 1 可执行文件添加到 macOS 命令行路径
<a name="awscli-install-osx-path"></a>

在使用 `pip` 进行安装后，可能需要将 `aws` 程序添加到操作系统的 `PATH` 环境变量中。程序的位置取决于 Python 的安装位置。

**Example AWS CLI 安装位置 - 带 Python 3.6 和 `pip`（用户模式）的 macOS**  

```
~/Library/Python/3.7/bin
```
将上面示例中的版本替换为您的 Python 版本。

如果您不知道 Python 的安装位置，请运行 `which python`。

```
$ which python
/usr/local/bin/python
```

输出可能是符号链接的路径，而不是实际的程序。运行 `ls -al` 以查看所指向的路径。

```
$ ls -al /usr/local/bin/python
~/Library/Python/3.7/bin/python3.7
```

`pip` 将程序安装到 Python 应用程序所在的文件夹中。将此文件夹添加到 `PATH` 变量。

**修改您的 `PATH` 变量**

1. 在您的用户目录中查找 Shell 的配置文件脚本。如果您不能确定所使用的 Shell，请运行 `echo $SHELL`。

   ```
   $ ls -a ~
   .  ..  .bash_logout  .bash_profile  .bashrc  Desktop  Documents  Downloads
   ```
   + **Bash**：`.bash_profile`、`.profile` 或 `.bash_login`
   + **Zsh** – `.zshrc`
   + **Tcsh**：`.tcshrc`、`.cshrc` 或 `.login`

1. 向配置文件脚本中添加导出命令。

   ```
   export PATH=~/.local/bin:$PATH
   ```

   在本示例中，此命令将路径 `~/.local/bin` 添加到当前 `PATH` 变量中。

1. 将更新的配置文件加载到当前会话中。

   ```
   $ source ~/.bash_profile
   ```

### 使用 pip 卸载 AWS CLI
<a name="awscli-install-osx-pip-uninstall"></a>

1. 如果您使用 `pip` 安装了 AWS CLI 版本 1，则还必须使用 `pip` 进行卸载。

   ```
   $ pip uninstall awscli
   ```

    如果您使用的是 Python 版本 2 或 3，则可能需要使用 `pip2` 或 `pip3` 命令。使用 `aws --version` 命令确定与您安装的 AWS CLI 版本 1 关联的 Python 版本。

   ```
   $ pip3 uninstall awscli
   ```

   您可能需要重新启动命令提示符窗口或电脑才能删除所有文件。

1. **（可选）**删除 `.aws` 文件夹中的共享 AWS SDK 和 AWS CLI 设置信息。
**警告**  
这些配置和凭证设置跨所有 AWS SDK 和 AWS CLI 进行共享。如果删除此文件夹，则您系统上的任何 AWS SDK 都无法访问它们。

   `.aws` 文件夹的默认位置因平台而异，默认情况下，该文件夹位于 *\$1/.aws/*。如果您的用户对此目录具有写入权限，则无需使用 `sudo`。

   ```
   $ sudo rm -rf ~/.aws/
   ```

## AWS CLI 安装和卸载错误故障排除
<a name="awscli-install-osx-tshoot"></a>

如果您在安装或卸载 AWS CLI 后遇到问题，请参阅[排查 AWS CLI 错误](cli-chap-troubleshooting.md)以了解故障排除步骤。有关相关性最高的故障排除步骤，请参阅[找不到命令错误](cli-chap-troubleshooting.md#tshoot-install-not-found)、[“`aws --version`”命令返回的版本与您安装的版本不同](cli-chap-troubleshooting.md#tshoot-install-wrong-version)和[卸载 AWS CLI 后，“`aws --version`”命令返回一个版本](cli-chap-troubleshooting.md#tshoot-uninstall-1)。

# 在 Windows 上安装、更新和卸载 AWS CLI 版本 1
<a name="install-windows"></a>

可以在 Windows 上使用独立安装程序（建议）或 AWS Command Line Interface（一种适用于 Python 的程序包管理器）来安装 AWS CLI (`pip`) 的版本 1。

键入命令时，请勿包含提示符符号 (`C:\>`)。程序列表中包含这些符号是为了区分您键入的命令与 AWS CLI 返回的输出。除非是特定于 Windows 的命令，否则本指南其余部分使用通用提示符符号 (`$`)。

**Topics**
+ [使用 MSI 安装程序来安装、更新和卸载 AWS CLI 版本 1](#msi-on-windows)
+ [在 Windows 上使用 Python 和 pip 安装、更新和卸载 AWS CLI 版本 1](#awscli-install-windows-pip)
+ [将 AWS CLI 版本 1 可执行文件添加到命令行路径](#awscli-install-windows-path)
+ [AWS CLI 安装和卸载错误故障排除](#awscli-install-windows-tshoot)

## 使用 MSI 安装程序来安装、更新和卸载 AWS CLI 版本 1
<a name="msi-on-windows"></a>

Windows XP 或更高版本支持 AWS CLI 版本 1。对于 Windows 用户，MSI 安装程序包提供了一种熟悉而方便的方式来安装 AWS CLI 版本 1，且无需安装其他任何必备软件。

### 使用 MSI 安装程序来安装和更新 AWS CLI 版本 1
<a name="install-msi-on-windows"></a>

查看 GitHub 上的[版本](https://github.com/aws/aws-cli/releases)页面，了解何时发布了最新版本。更新发布后，您必须重复安装过程以获取最新版本的 AWS CLI 版本 1。

1. 下载相应的 MSI 安装程序：
   + 适用于 Windows（64 位）的 AWS CLI MSI 安装程序：[https://s3.amazonaws.com/aws-cli/AWSCLI64PY3.msi](https://s3.amazonaws.com/aws-cli/AWSCLI64PY3.msi)
   + 适用于 Windows（32 位）的 AWS CLI MSI 安装程序：[https://s3.amazonaws.com/aws-cli/AWSCLI32PY3.msi](https://s3.amazonaws.com/aws-cli/AWSCLI32PY3.msi)
   + 适用于 Windows 的 AWS CLI 合并安装文件：[ https://s3.amazonaws.com/aws-cli/AWSCLISetup.exe](https://s3.amazonaws.com/aws-cli/AWSCLISetup.exe)（同时包括 32 位和 64 位 MSI 安装程序，并自动安装正确的版本）

1. 运行下载的 MSI 安装程序或设置文件。

1. 按照屏幕上的说明进行操作。默认情况下，AWS CLI 版本 1 安装到 `C:\Program Files\Amazon\AWSCLI`（64 位版本）或 `C:\Program Files (x86)\Amazon\AWSCLI`（32 位版本）。

1. 要确认安装，请在命令提示符下使用 `aws --version` 命令（打开 **Start**（开始）菜单并搜索 `cmd` 以启动命令提示符）。

   ```
   C:\> aws --version
   aws-cli/1.40.41 Python/3.11.6 Windows/10 botocore/1.18.6
   ```

   如果 Windows 无法找到该程序，您需要关闭并重新打开命令提示符以刷新该路径，或手动[将安装目录添加到您的 PATH](#awscli-install-windows-path) 环境变量。

### 卸载 AWS CLI 版本 1
<a name="install-msi-uninstall"></a>

要使用以下卸载说明，您需要已经使用 MSI 安装程序或安装文件安装了 AWS CLI 版本 1。

1. 通过执行以下操作之一打开**程序和功能**：
   + 打开**控制面板**，然后选择**程序和功能**。
   + 打开命令提示符，然后运行以下命令。

     ```
     C:\> appwiz.cpl
     ```

1. 选择名为 **AWS Command Line Interface** 的条目，然后选择 **Uninstall**（卸载）启动卸载程序。

1. 确认您要卸载 AWS CLI。

1. **（可选）**删除 `.aws` 文件夹中的共享 AWS SDK 和 AWS CLI 设置信息。
**警告**  
这些配置和凭证设置跨所有 AWS SDK 和 AWS CLI 进行共享。如果删除此文件夹，则您系统上的任何 AWS SDK 都无法访问它们。

   `.aws` 文件夹的默认位置因平台而异，默认情况下，该文件夹位于 *%UserProfile%\$1.aws*。

   ```
   $ rmdir %UserProfile%\.aws
   ```

## 在 Windows 上使用 Python 和 pip 安装、更新和卸载 AWS CLI 版本 1
<a name="awscli-install-windows-pip"></a>

Python Software Foundation 为包含 `pip` 的 Windows 提供了安装程序。

### 先决条件
<a name="awscli-install-windows-pip-prereqs"></a>

您必须已安装 Python 3.8 或更高版本。有关安装说明，请参阅 Python 的*初学者指南* 中的[下载 Python](https://wiki.python.org/moin/BeginnersGuide/Download) 页面。

### 使用 pip 安装和更新 AWS CLI 版本 1
<a name="awscli-install-windows-pip-python"></a>

1. 要安装 AWS CLI 版本 1，请使用 `pip3` 命令（如果使用 Python 版本 3 或更高版本）或 `pip` 命令。

   **对于最新版本的 AWS CLI**，请使用以下命令块：

   ```
   C:\> pip3 install awscli --upgrade --user
   ```

   **对于特定版本的 AWS CLI，**在文件名中附加一个小于号 `<` 和版本号。在本示例中，版本 *1.16.312* 的文件名为 *<1.16.312*，这会生成以下命令：

   ```
   C:\> pip3 install awscli<1.16.312 --upgrade --user
   ```

1. 验证 AWS CLI 版本 1 是否已正确安装。如果没有响应，请参阅 [将 AWS CLI 版本 1 可执行文件添加到命令行路径](#awscli-install-windows-path) 部分。

   ```
   C:\> aws --version
   aws-cli/1.40.41 Python/3.11.6 Windows/10 botocore/1.18.6
   ```

### 使用 pip 卸载 AWS CLI 版本 1
<a name="awscli-install-windows-pip-uninstall"></a>

1. 如果您使用 `pip` 安装了 AWS CLI 版本 1，则还必须使用 `pip` 进行卸载。

   ```
   C:\> pip uninstall awscli
   ```

    如果您使用的是 Python 版本 2 或 3，则可能需要使用 `pip2` 或 `pip3` 命令。使用 `aws --version` 命令确定与您安装的 AWS CLI 版本 1 关联的 Python 版本。

   ```
   C:\> pip3 uninstall awscli
   ```

   您可能需要重新启动命令提示符窗口或电脑才能删除所有文件。

1. **（可选）**删除 `.aws` 文件夹中的共享 AWS SDK 和 AWS CLI 设置信息。
**警告**  
这些配置和凭证设置跨所有 AWS SDK 和 AWS CLI 进行共享。如果删除此文件夹，则您系统上的任何 AWS SDK 都无法访问它们。

   `.aws` 文件夹的默认位置因平台而异，默认情况下，该文件夹位于 *%UserProfile%\$1.aws*。

   ```
   $ rmdir %UserProfile%\.aws
   ```

## 将 AWS CLI 版本 1 可执行文件添加到命令行路径
<a name="awscli-install-windows-path"></a>

在使用 `pip` 安装 AWS CLI 版本 1 后，将 `aws` 程序添加到操作系统的 `PATH` 环境变量中。通过 MSI 安装，这应该会自动发生。但是，如果在安装它后未运行 `aws` 命令，则可能需要手动设置它。

1. 使用 `where` 命令查找 `aws` 文件位置。默认情况下，`where` 命令显示在系统的 `PATH` 中找到指定程序的位置。

   ```
   C:\> where aws
   ```

   所显示的路径取决于平台和安装 AWS CLI 所采用的方法。包含版本号的文件夹名称可能有所不同。这些示例反映所使用的是 Python 版本 3.7。根据需要将版本替换为您正在使用的版本号。典型路径包括：
   + **Python 3 和 `pip3`** – `C:\Program Files\Python37\Scripts\`
   + **Windows 较早版本上的 Python 3 和 `pip3` --user 选项** – `%USERPROFILE%\AppData\Local\Programs\Python\Python37\Scripts`
   + **Windows 10 上的 Python 3 和 `pip3` --user 选项** – `%USERPROFILE%\AppData\Roaming\Python\Python37\Scripts`
   + **MSI 安装程序（64 位）** – `C:\Program Files\Amazon\AWSCLI\bin`
   + **MSI 安装程序（32 位）** – `C:\Program Files (x86)\Amazon\AWSCLI\bin`

   根据是否返回文件路径，使用以下步骤。

------
#### [ A file path is returned ]

   ```
   C:\> where aws
   C:\Program Files\Amazon\AWSCLI\bin\aws.exe
   ```

   您可以通过运行以下命令找到安装 `aws` 程序的位置。

   ```
   C:\> where c:\ aws
   C:\Program Files\Python37\Scripts\aws
   ```

------
#### [ A file path is NOT returned ]

   如果 `where` 命令返回以下错误，这表示程序并不在系统 `PATH` 下，因此您无法通过输入其名称来运行它。

   ```
   C:\> where c:\ aws
   INFO: Could not find files for the given pattern(s).
   ```

   在这种情况下，请运行带有 `where` 参数的 `/R path` 命令，以告诉它搜索所有文件夹，然后手动添加路径。使用命令行或文件资源管理器发现它在电脑上的安装位置。

   ```
   C:\> where /R c:\ aws
   c:\Program Files\Amazon\AWSCLI\bin\aws.exe
   c:\Program Files\Amazon\AWSCLI\bincompat\aws.cmd
   c:\Program Files\Amazon\AWSCLI\runtime\Scripts\aws
   c:\Program Files\Amazon\AWSCLI\runtime\Scripts\aws.cmd
   ...
   ```

------

1. 按 Windows 键并输入 **environment variables**。

1. 选择 **Edit environment variables for your account**（编辑您账户的环境变量）。

1. 选择 **PATH**，然后选择 **Edit**（编辑）。

1. 将找到的路径添加到 **Variable value**（变量值）字段中，例如 ***C:\$1Program Files\$1Amazon\$1AWSCLI\$1bin\$1aws.exe***。

1. 选择 **OK**（确定）两次以应用新设置。

1. 关闭任何运行的命令提示符并重新打开命令提示符窗口。

## AWS CLI 安装和卸载错误故障排除
<a name="awscli-install-windows-tshoot"></a>

如果您在安装或卸载 AWS CLI 后遇到问题，请参阅[排查 AWS CLI 错误](cli-chap-troubleshooting.md)以了解故障排除步骤。有关相关性最高的故障排除步骤，请参阅[找不到命令错误](cli-chap-troubleshooting.md#tshoot-install-not-found)、[“`aws --version`”命令返回的版本与您安装的版本不同](cli-chap-troubleshooting.md#tshoot-install-wrong-version)和[卸载 AWS CLI 后，“`aws --version`”命令返回一个版本](cli-chap-troubleshooting.md#tshoot-uninstall-1)。

# 在虚拟环境中安装和更新 AWS CLI 版本 1
<a name="install-virtualenv"></a>

您可以通过在虚拟环境中安装 AWS Command Line Interface (AWS CLI) 的版本 1，避免与其他 `pip` 程序包之间的版本要求冲突。

**Topics**
+ [先决条件](#install-virtualenv-prereqs)
+ [在虚拟环境中安装和更新 AWS CLI 版本 1](#install-virtualenv-install)
+ [AWS CLI 安装和卸载错误故障排除](#install-virtualenv-tshoot)

## 先决条件
<a name="install-virtualenv-prereqs"></a>
+ Python 3.8 或更高版本。有关安装说明，请参阅 Python 的*初学者指南* 中的[下载 Python](https://wiki.python.org/moin/BeginnersGuide/Download) 页面。

  **Python 版本支持矩阵**    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/cli/v1/userguide/install-virtualenv.html)
+ `pip` 或 `pip3` 已安装。

## 在虚拟环境中安装和更新 AWS CLI 版本 1
<a name="install-virtualenv-install"></a>

1. 使用 `virtualenv` 安装 `pip`。

   ```
   $ pip install --user virtualenv
   ```

1. 创建虚拟环境并命名它。

   ```
   $ virtualenv ~/cli-ve
   ```

   或者，您也可以使用 `-p` 选项指定默认版本以外的 Python 版本。

   ```
   $ virtualenv -p /usr/bin/python37 ~/cli-ve
   ```

1. 激活新虚拟环境。

   **Linux 或 macOS**

   ```
   $ source ~/cli-ve/bin/activate
   ```

   **Windows**

   ```
   $ %USERPROFILE%\cli-ve\Scripts\activate
   ```

   提示符更改为显示您的虚拟环境处于活动状态。

   ```
   (cli-ve)~$
   ```

1. 将 AWS CLI 版本 1 安装到您的虚拟环境中或进行更新。

   ```
   (cli-ve)~$ pip install --upgrade awscli
   ```

1. 验证 AWS CLI 版本 1 是否已正确安装。

   ```
   $ aws --version
   aws-cli/1.40.41 Python/3.11.6 Linux/5.10.205-195.807.amzn2.x86_64 botocore/1.18.6
   ```

1. 您可以使用 `deactivate` 命令退出虚拟环境。不管何时启动新会话，都必须重新激活环境。

## AWS CLI 安装和卸载错误故障排除
<a name="install-virtualenv-tshoot"></a>

如果您在安装或卸载 AWS CLI 后遇到问题，请参阅[排查 AWS CLI 错误](cli-chap-troubleshooting.md)以了解故障排除步骤。有关相关性最高的故障排除步骤，请参阅[找不到命令错误](cli-chap-troubleshooting.md#tshoot-install-not-found)、[“`aws --version`”命令返回的版本与您安装的版本不同](cli-chap-troubleshooting.md#tshoot-install-wrong-version)和[卸载 AWS CLI 后，“`aws --version`”命令返回一个版本](cli-chap-troubleshooting.md#tshoot-uninstall-1)。