Google Cloud SDK ドキュメント | Cloud SDK | Google Cloud Platform

これに従ってインストールを進めていくと…

$ ./install.sh
Welcome to the Google Cloud SDK!
Traceback (most recent call last):
  File "/Users/admin/Downloads/google-cloud-sdk/bin/bootstrapping/install.py", line 8, in <module>
    import bootstrapping
  File "/Users/admin/Downloads/google-cloud-sdk/bin/bootstrapping/bootstrapping.py", line 9, in <module>
    import setup
  File "/Users/admin/Downloads/google-cloud-sdk/bin/bootstrapping/setup.py", line 27, in <module>
    from googlecloudsdk.core.util import platforms
  File "/Users/admin/Downloads/google-cloud-sdk/lib/googlecloudsdk/core/util/platforms.py", line 18, in <module>
    import platform
ImportError: No module named platform

このようなエラーが。

platformはPythonに付属のモジュールなので、無いわけがありません。

$ python
Python 2.7.13 (default, Jun 25 2017, 15:41:19)
[GCC 4.2.1 Compatible Apple LLVM 8.1.0 (clang-802.0.42)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import platform
>>>

このように、普通にPythonを起動するとちゃんとインポートできていることが確認できます。

というわけで、install.shの中でPythonのオプションかなにかが弄られているのだろうと思い、install.shを見てみると…

case :$CLOUDSDK_PYTHON_SITEPACKAGES:$VIRTUAL_ENV: in
:::)  # add -S to CLOUDSDK_PYTHON_ARGS if not already there
      case " $CLOUDSDK_PYTHON_ARGS " in
      *" -S "*) ;;
      "  ")     CLOUDSDK_PYTHON_ARGS="-S"
                ;;
      *)        CLOUDSDK_PYTHON_ARGS="$CLOUDSDK_PYTHON_ARGS -S"
                ;;
      esac
      unset CLOUDSDK_PYTHON_SITEPACKAGES
      ;;

案の定、-Sオプション付きで実行されていることがわかりました。

このオプションが追加されていたせいでsiteモジュールが読み込まれず、それが原因でplatformの場所がわからなくなっているのが原因のようです。

ところで、このスクリプトの上の方を見てみると、

#  CLOUDSDK_ROOT_DIR            (a)  installation root dir
#  CLOUDSDK_PYTHON              (u)  python interpreter path
#  CLOUDSDK_PYTHON_ARGS         (u)  python interpreter arguments
#  CLOUDSDK_PYTHON_SITEPACKAGES (u)  use python site packages

とあり、CLOUDSDK_PYTHON_SITEPACKAGES環境変数を設定すれば良さそうということがわかりました。

$ CLOUDSDK_PYTHON_SITEPACKAGES=1 ./install.sh

というようにすれば、インストールに成功します。あとはこの環境変数を.bash_profileあたりに書いておくのだけ忘れずに。