All Products
Search
Document Center

Alibaba Cloud SDK:End of support for Python 2.7 and 3.6 in Alibaba Cloud SDK for Python

Last Updated:Jan 11, 2024

Announcement

From May 1, 2024, Alibaba Cloud SDK for Python will no longer support the Python 2.7 runtime and the Python 3 runtime whose minor version is 6 or earlier than 6. In other words, the support for Python 2.7 and Python 3.6 and earlier will officially end on that date.

  • Official support and maintenance for Python 2.7 will end on May 1, 2024.

  • Official support and maintenance for Python 3.6 and earlier will end on October 1, 2024.

For Python 2.7, the following repositories are involved: V2.0 and V1.0. For Python 3, the following repositories are involved: V2.0 and V1.0. For more information, see Supported SDKs.

image.png

Note: The preceding figure is referenced from Status of Python versions.

yuque_diagram.jpg

Why will Alibaba Cloud end support for Python 2.7 and 3.6?

The Python Software Foundation (PSF), the organization behind the Python programming language, publishes the end-of-life dates for all Python versions. When the community of a language announces the end of support for a version, Alibaba Cloud will discontinue the version in a year or so. This end-of-support announcement for Python 2.7 and 3.6 came out relatively late. End-of-support announcements for other Python versions will be issued according to the time stipulated in the service level agreement (SLA). For more information, see the End-of-support dates for Python versions section of this topic.

Python 2.7

Python 2.7.18 is the last version of Python 2. The PSF states that "As of January 1st, 2020 no new bug reports, fixes, or changes will be made to Python 2, and Python 2 is no longer supported."

By now, many industry Python projects and packages have stopped supporting Python 2.7. Alibaba Cloud will also discontinue Python 2.7 to maintain secure and up-to-date SDKs.

Python 3.6

Python 3.6.15 is the last version of Python 3.6. On December 23, 2021, the PSF officially ended support for Python 3.6. For more information about the status of Python versions, see Status of Python versions.

What does end-of-support mean?

From the end-of-support date of Python 2.7 or 3.6, Alibaba Cloud SDK for Python will no longer apply security patches to the Python 2.7 or 3.6 runtime. In addition, Alibaba Cloud will no longer provide technical support for SDKs that use Python 2.7 or 3.6.

  • From May 1, 2024, users of Python 2.7 will not be able to use the Python 2.7 runtime to call new API operations of Alibaba Cloud services.

  • From October 1, 2024, users of Python 3.6 will not receive technical support for using the Python 3.6 runtime to call API operations of Alibaba Cloud services. In addition, compilation errors will occur after the major version of an SDK is upgraded. For SDKs that use Python 3, Alibaba Cloud will publish a major version upgrade to end the support for Python 3.6 or earlier.

Note

For example, SDK V1.x.x supports Python 3.6. To end the support for Python 3.6. Alibaba Cloud will release SDK V2.0.0 that requires Python 3.7 or later. If you do not upgrade the Python version to 3.7 or later, you cannot upgrade the SDK version to V2.0.0.

Will the existing SDK for Python 2.7 continue to operate?

Yes, the existing SDK for Python 2.7 will continue to operate. However, we strongly recommend that you migrate the SDK to a supported runtime version so that you can continue to receive security patches and remain eligible for technical support.

Does the existing SDK for Python 3 support Python 3.6 or earlier?

Yes, your SDK for Python 3 can continue to operate in the Python 3.6 runtime as long as you do not upgrade the major version of the SDK. However, we strongly recommend that you migrate the SDK to a supported runtime version so that you can call the latest API operations of Alibaba Cloud services.

What do I need to do?

Python 2.7

For users of Alibaba Cloud SDK V1.0 for Python:

  • If you want to continue to use the Python 2.7 runtime:

    • You must make sure that the version of the SDK for Python is of a major version that supports the Python 2.7 runtime. For example, if your SDK version is V1.x.x and V2.x.x no longer supports the Python 2.7 runtime, you must make sure that your SDK version number is equal to or greater than 1.0.0 and smaller than 2.0.0.

  • If you want to use the latest features of the SDK:

    • You must discontinue your Python 2.7 runtime, upgrade the runtime of the SDK to a supported Python version, and upgrade your SDK version. To check whether the SDK is of V1.0, see if the format of the package name is the same as that of the package names in the Install the Classic SDK and its core library topic. If yes, the SDK is of V1.0.

For users of Alibaba Cloud SDK V2.0 for Python:

  • If you want to continue to use the Python 2.7 runtime:

    • You can continue to use the existing SDK for Python 2. The package name is in the format of alibabacloud-{product}{version}-py2. The name ends with the suffix -py2.

  • If you want to use the latest features of the SDK:

Python 3.6

For users of Alibaba Cloud SDK V1.0 or V2.0 for Python:

  • If you want to continue to use the Python 3.6 runtime:

    • You must make sure that the version of the SDK for Python is of a major version that supports the Python 3.6 runtime. For example, if your SDK version is V2.x.x and V3.x.x no longer supports the Python 3.6 runtime, you must make sure that your SDK version number is equal to or greater than 2.0.0 and smaller than 3.0.0.

  • If you want to use the latest features of the SDK:

    • You must discontinue your Python 3.6 runtime, upgrade the runtime of the SDK to a supported Python version, and upgrade your SDK version.

Warning

You must test the compatibility of the SDK with the Python language before you apply the changes to applications in the production environment.

How do I upgrade Python 2 to Python 3?

The Python community provides helpful guides and tools to help you port Python 2 code to Python 3. For more information, see:

End-of-support dates for Python versions

The following table describes end-of-support dates for Python versions in Alibaba Cloud SDK for Python.

Python version

PSF end-of-life date

Alibaba Cloud SDK end-of-support date

2.7 (PEP 373)

January 1, 2020

May 1, 2024

3.6 (PEP 494)

December 23, 2021

October 1, 2024

3.7 (PEP 537)

June 27, 2023

Scheduled in May 2025

3.8 (PEP 569)

Scheduled in October 2024

Scheduled in October 2025

3.9 (PEP 596)

Scheduled in October 2025

Scheduled in October 2026

3.10 (PEP 619)

Scheduled in October 2026

Scheduled in October 2027

3.11 (PEP 664)

Scheduled in October 2027

Scheduled in October 2028

3.12 (PEP 693)

Scheduled in October 2028

Scheduled in October 2029

What if I need extra help?

If you have any questions, submit your feedback in OpenAPI Portal or contact us by joining the DingTalk group OpenAPI Portal-Duty Service Group 3 (ID: 11695023429).

References