AWS Developer Tools Blog

The AWS CLI and AWS SDK for Python will require Python 2.7+ or 3.4+ as their Python runtime

On January 10, 2020, in order to continue supporting our customers with tools that are secure and maintainable, AWS will publish a minor version bump of the AWS CLI and AWS SDK for Python (Boto3 and Botocore). These new versions will require Python 2.7+ or Python 3.4+ runtime.

Per PSF (Python Software Foundation), Python 2.6.9 was “the final security-only source-only maintenance release of the Python 2.6 series”. With its release on October 29, 2013, PSF states that “all official support for Python 2.6 ended and was no longer being maintained for any purpose”. Per PSF, as of September 29, 2017, Python 3.3.x also reached end-of-life status.

Until this year many industry Python projects and packages continued to support Python 2.6 and Python 3.3 as their runtime. However, currently these projects or package owners have stopped their support for Python 2.6 and Python 3.3 as their runtime. Additionally, the Python Windows Installers for Python 2.6/3.3, have not updated their bundled OpenSSL since Python 2.6/3.3 EOL and cannot support TLSv1.2+. Many AWS APIs required TLSv1.2+ to access their services.

I’m currently using Python 2.6 or Python 3.3 as my runtime for AWS CLI or AWS SDK for Python. What should I do?

We recommend moving to a newer version of the Python runtime, either 2.7+ or 3.4. These can be found at https://www.python.org/downloads.

If you are using the AWS CLI with Python 2.6 or 3.3 and are not ready to upgrade to a newer Python version, then you will need to take one of the below actions depending upon your installation method.

MSI Installer
If you install the AWS CLI using the Windows MSI Installer, you are not impacted by this deprecation and no changes are required.

Pip
If you install the AWS CLI or the AWS SDK for Python using Pip, ensure that your pip invocation or requirements.txt file installs a version published prior to 2020/01/10. For example:

$ pip install --upgrade --user awscli<1.18

Bundled Installer
If you install the AWS CLI using the bundled installer, you must ensure that you download a copy of the bundled installer that supports Python 2.6+ or 3.3+ runtime. You can do this by downloading the file from “https://s3.amazonaws.com/aws-cli/awscli-bundle-{VERSION}.zip“, replacing “{VERSION}“ with the desired version of the CLI. For example to download version 1.16.188 use:

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

Then continue following the installation instructions found in https://docs.aws.amazon.com/cli/latest/userguide/install-bundle.html, starting with step 2.

For additional help or questions go to the CLI user guide.