Google Cloud 上的 Python 2 支持

Python 社区宣布将于 2020 年 1 月 1 日停用 Python 2,并鼓励所有开发者尽快升级到 Python 3。考虑到客户可能需要更多时间来从 Python 2 迁移到 Python 3,因此,即使在 2020 年 1 月 1 日之后,Google Cloud 客户仍将能够运行 Python 2 应用并使用现有 Python 2 客户端库

托管式计算服务(例如 App Engine)在 2020 年 1 月 1 日之后将继续提供 Python 2 运行时。Python 2 客户端库将继续可供下载,但未来的主要版本将仅针对 Python 3。

本页面简要介绍了 Google Cloud 中的 Python 2 和 3 支持,并提供了可帮助您迁移到 Python 3 的相关资源。我们会使用最新的资源和信息及时更新此页面。

Python 2 支持状态

Google Cloud Python 客户端库

在 2020 年 1 月 1 日之后新发布的 Python 客户端库主要版本将不支持 Python 2.7。以前的主要版本仍可供下载,以便能够访问现有服务端点,并且将继续为目前使用 Python 2.7 进行开发工作的用户提供支持。

如果在旧库版本或旧库版本的库依赖项中检测到漏洞,我们将不打算针对此类漏洞发布补丁程序。

App Engine Python 2.7 运行时

我们致力于为 App Engine Python 2.7 运行时环境提供长期支持;在您按照自己的安排向前发展时,我们将在超过十年支持的基础上继续为您的应用提供支持。

为了长期支持 Python 2.7 运行时环境,我们将逐步进行以下更改:

  • 尽可能将运行时环境恢复到未分支的开源状态。 我们不得不严格限制和修改某些运行时环境,以便在我们的数据中心内安全地运行您的应用。通过更改运行时环境在我们的数据中心内的运行方式,我们可以长期为这些运行时环境提供一个安全且可扩缩的环境。

  • 添加完整的构建系统,用于支持软件包代码库、原生组件版本和资源代码库。

如需详细了解我们对 App Engine Python 2.7 运行时环境的长期支持,请参阅 App Engine 长期支持方案。如需详细了解迁移,请参阅迁移到 Python 3 标准运行时

Cloud SDK

Cloud SDK 版本 274.0.0 引入了对 Python 3 的支持。旧版 Cloud SDK 将继续可供下载,但我们建议您使用 274.0.0 或更高版本,并尽快迁移到 Python 3。

有关如何将 Cloud SDK 配置为使用 Python 3 的说明,请参阅使用 Python 3

Cloud SDK 中随附的某些 Python 工具(gcloud 命令行工具除外)仍需要使用 Python 2.7 解释器。如需了解详情,请运行:gcloud topic startup

Deployment Manager 模板

我们预计大多数 Deployment Manager 模板将继续使用 Python 3。如果在模板中使用其他 Python 代码(如帮助程序脚本或模板模块),请确保它们与 Python 3 兼容。

如需了解从 Python 2.7 转移到 3.x 的预期结果,请参阅 Deployment Manager 文档

Dataflow

从 2020 年 10 月 7 日开始,Dataflow 不再支持 Python 2 流水线。由于行业迁移且 Apache Beam 停止支持 Python 2,因此 Dataflow 不保证能够对 Python 2 产品提供长期功能支持或维护。

您可以使用最新的 Apache Beam SDK 在 Python 3 上运行现有的 Python 批处理流水线和流处理流水线。我们建议您按照将 Python 2 代码移植到 Python 3 文档来检查您的流水线代码与 Python 3 是否兼容。

如有与 Apache Beam Python 3 迁移有关的已知问题,请参阅 BEAM-1251 跟踪器的常见问题解答。如需详细了解 Apache Beam 2.x SDK 的支持状态,请参阅 SDK 版本支持状态页面