AWS CLI v1 如何检查当前使用的 Python 版本并迁移到 Python 3.10 以上
【免费下载链接】aws-cliUniversal Command Line Interface for Amazon Web Services项目地址: https://gitcode.com/GitHub_Trending/aw/aws-cli
如果环境里安装的是 AWS CLI v1,它会运行在系统本地的 Python 上,而这个 Python 版本决定了 CLI 能否继续获得安全与功能更新。需要确认当前aws命令实际使用的 Python 版本,并在版本低于要求时,把 CLI 安装迁移到 Python 3.10 以上。这篇文章基于仓库中的 UPGRADE_PY3.md(CLI Python 3 Migration Guide)和 README.rst 的说明,给出从检查、迁移到验证的完整操作路径。AWS CLI v2 自带 Python 3,不受此迁移影响,本文只针对 v1 用户。
检查 AWS CLI 当前使用的 Python 版本
aws --version会依次报告aws工具自身的版本号、它运行的 Python 版本、操作系统版本和 botocore 版本:
$ aws --version判断依据是输出中从Python/开始的第二段。文档示例展示了一个运行在 Python 2.7 上的安装(文档示例):
aws-cli/1.18.191 Python/2.7.18 Darwin/19.6.0 botocore/1.19.31如果Python/后的版本不是 3.10.x 或更高,就需要按下文迁移;如果已经是 3.10 及以上,无需任何改动。
迁移指南中给出了受影响 Python 版本的弃用日期(来源:UPGRADE_PY3.md),可以用来判断当前安装所处的弃用阶段:
| Python 版本 | 弃用日期 |
|---|---|
| Python 2.7 | 7/15/2021 |
| Python 3.4 和 3.5 | 2/1/2021 |
| Python 3.6 | 5/30/2022 |
| Python 3.7 | 12/13/2023 |
| Python 3.8 | 4/22/2025 |
| Python 3.9 | 4/29/2026 |
整个迁移的最终要求是以 Python 3.10 作为最低版本。
迁移到 Python 3.10 以上
迁移指南在开始前给出一条建议:如果可以,优先升级到 AWS CLI v2,以避免今后再处理这类 Python 版本升级,并让 CLI 的使用与 boto3、botocore 等其他包的冲突隔离。如果确定继续使用 v1,迁移步骤如下。
1. 卸载现有的 AWS CLI
迁移的第一步是卸载现有的 AWS CLI 副本。具体卸载方法见 AWS CLI v1 安装指南(迁移指南中的 "CLI v1 installation guide" 指向同一份文档)。
2. 安装 Python 3.10 或更高版本
可以从 Python.org 获取 Python,也可以使用本地包管理器安装。文档示例选用 Python 3.10.20,以获得最长的支持窗口。
3. 确认 Python 命令指向新版本
安装完成后,用以下命令验证新的 Python 安装是否可用(文档示例输出):
$ python --version Python 3.10.20 $ python3 --version Python 3.10.20 $ python3.10 --version Python 3.10.20三个命令应至少有一个返回目标版本。下一步安装时,使用实际提供了期望 Python 版本的那个命令别名。
4. 用正确的 Python 安装 AWS CLI
以 pip 为例,使用上一步确认的别名(文档以python为例):
$ python -m pip install awscliREADME.rst 建议安装时使用 pip 9.0.2 及以上、setuptools 36.2.0 及以上,并指出最安全的安装方式是在 virtualenv 中使用 pip。macOS 上如果因 El Capitan 自带distutils中six的版本报错,可使用--ignore-installed选项:
$ sudo python -m pip install awscli --ignore-installed six如果使用 bundled installer(捆绑安装器),对应的安装命令是:
$ python awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws5. 验证新安装的 AWS CLI
再次运行版本命令确认aws工具运行在正确的 Python 上(文档示例输出):
$ aws --version aws-cli/1.18.191 Python/3.10.20 Darwin/19.6.0 botocore/1.19.31只要报告的 Python 版本达到 3.10 及以上,迁移即完成。
可选:Windows 上改用 Python 3 版 MSI 安装器
如果你现有的 AWS CLI v1 是通过 Windows MSI 安装器安装的,可以直接改用基于 Python 3 的安装器(32 位:AWSCLI32PY3.msi,64 位:AWSCLI64PY3.msi,下载地址见 UPGRADE_PY3.md)。迁移指南说明这类安装器不受本次弃用影响,且会随每次发布保持更新。
无法升级到 Python 3 时的处理
如果环境确实无法升级到 Python 3,需要为弃用日期做好准备:弃用日期前发布的 v1 版本在支持结束后仍可继续工作,但不再接收安全或功能更新;如需更新,就必须迁移到 Python 3。
pip 安装:只要使用 pip 10.0 或更高版本,会自动安装与 Python 2.7 兼容的最后可用版本,无需手动指定版本号。
Bundled installer:需要确保下载的是 Python 2 兼容版本,弃用日期前发布的版本均兼容。可以用带版本号的 URL 下载指定安装器,其中{VERSION}替换为要安装的 AWS CLI 版本号:
curl https://s3.amazonaws.com/aws-cli/awscli-bundle-{VERSION}.zip -o awscli-bundle.zip文档给出的示例是选择 1.18.200 版本:
curl https://s3.amazonaws.com/aws-cli/awscli-bundle-1.18.200.zip -o awscli-bundle.zip下载完成后,按对应平台(Linux、macOS)bundled 安装说明中的第 2 步继续操作,详见 AWS CLI v1 安装指南。
Windows MSI:仍在使用 Python 2 版 Windows MSI 时注意,弃用日期之后,最新 v1 Windows MSI 的下载链接会指向 Python 3 MSIs。历史版本(包括 Python 2 版本)仍可通过版本专属 URL 获取:
https://s3.amazonaws.com/aws-cli/AWSCLI32-{VERSION}.msi https://s3.amazonaws.com/aws-cli/AWSCLI64-{VERSION}.msi当前仓库的 Python 支持范围与后续安排
本仓库(aws-cli)当前的 README.rst 说明该包支持的 Python 版本为 3.10.x 及以上、3.11.x 及以上、3.12.x 及以上、3.13.x 及以上、3.14.x 及以上;setup.py 中对应声明为python_requires=">= 3.10"。README 同时注明,2026-04-29 起 AWS CLI 对 Python 3.9 的支持已经结束。
另外,README 宣布 AWS CLI v1 将于 2026-07-15 进入维护模式,并建议迁移到 AWS CLI v2。如果你的机器长期需要执行 v1 命令,迁移指南给出的首选建议同样是评估升级到 v2——v2 自带 Python 3,不会被 Python 版本弃用反复影响。
【免费下载链接】aws-cliUniversal Command Line Interface for Amazon Web Services项目地址: https://gitcode.com/GitHub_Trending/aw/aws-cli
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考