2020-06-10

6/10

Google Cloud SDKでPython 3を使う

gcloud components update を打ったら次のようなメッセージが出ていることに気づいた:

    Note: Cloud SDK introduced support for Python 3 in release 274.0.0 and
    users are strongly encouraged to migrate to Python 3. Support for Python 2
    will be deprecated on July 31, 2020. See also Python 2 Sunset
    (https://cloud.google.com/python/docs/python2-sunset/) and Using Python 3
    (https://cloud.google.com/sdk/gcloud/reference/topic/startup).

pyenvでpython3入れてるんだけどなんで使われないのかな、と思ったら、まだデフォルトはpython2らしい。

https://cloud.google.com/sdk/gcloud/reference/topic/startup によると、次の順番でpythonインタプリタを探すとある:

  • python2
  • python27
  • python
  • python3

pyenvのpythonを使いたいなら、環境変数 CLOUDSDK_PYTHON に設定してあげればいい。
私は最近anyenvを使うようになったので、下のようになった:

$ export CLOUDSDK_PYTHON=$(which python)
$ echo $CLOUDSDK_PYTHON
/Users/progrhyme/.anyenv/envs/pyenv/shims/python

いまどのpythonを使っているかは、gcloud infoで確認できた。

$ gcloud info
Google Cloud SDK [296.0.0]

:
Locale: ('ja_JP', 'UTF-8')
Python Version: [3.8.1 (...)]]
Python Location: [/Users/progrhyme/.anyenv/envs/pyenv/versions/3.8.1/bin/python]
: