Google Cloud で使用可能な Python 2

Python コミュニティは 2020 年 1 月 1 日に Python 2 のサポートを終了することを発表しました。Python で開発をしている場合は、できるだけ早く Python 3 にアップグレードすることをおすすめします。Python 2 から Python 3 への移行には想定より時間がかかる可能性があるため、Google Cloud のお客様は 2020 年 1 月 1 日以降も 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 ランタイム

Google では、App Engine Python 2.7 ランタイムの長期的サポートを提供し、お客様がご自身のペースで移行できるように、10 年以上にわたってアプリの移行をサポートしてきました。

Python 2.7 ランタイムを長期的にサポートするために、次の点を時間をかけて変更します。

  • ランタイムをできる限り最初のオープンソースの状態に戻します。 データセンターでアプリを安全に実行するには、一部のランタイムを厳しく制限して修正する必要がありました。Google のデータセンターでのランタイムの運用方法を変更することで、こうしたランタイムのために安全でスケーラブルな環境を長期にわたって提供できます。

  • サポート パッケージ リポジトリ、ネイティブ コンポーネント ビルド、アセット リポジトリをサポートする完全なビルドシステムを追加します。

App Engine Python 2.7 ランタイムの長期サポートの詳細については、App Engine の長期サポートプランをご覧ください。

Cloud SDK

Cloud SDK バージョン 274.0.0 で、Python 3 のサポートが導入されました。旧バージョンの Cloud SDK はダウンロード可能ですが、できるだけ早くバージョン 274.0.0 以降を使用して Python 3 に移行することをおすすめします。

Python 3 を使用できるように Cloud SDK を構成する方法の手順については、Python 3 の使用をご覧ください。

Cloud SDK に付属している gcloud コマンドライン ツール以外の Python ツールの中には、引き続き 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 バージョンのサポート状況のページをご覧ください。