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 の長期サポートプランをご覧ください)。Python 3 標準ランタイムに移行するための詳細も用意してあります。
Google Cloud CLI
Google Cloud CLI バージョン 274.0.0 では、Python 3 のサポートが導入されました。古いバージョンの gcloud CLI は引き続きダウンロード可能ですが、できるだけ早くバージョン 274.0.0 以降を使用して Python 3 に移行することをおすすめします。
Python 3 を使用するように gcloud CLI を構成する方法については、Python 3 の使用をご覧ください。
Google Cloud CLI に付属している gcloud CLI 以外の 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 バージョンのサポート状況のページをご覧ください。