有没有办法使用gcloud与python3?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了有没有办法使用gcloud与python3?相关的知识,希望对你有一定的参考价值。

我对gcloud和python3有点困惑

我在python3 env中安装了gcloud之后我尝试了Quickstart for Python in the App Engine Flexible Environment的例子。

它说'你需要Google Cloud SDK',所以我安装了SDK。 SDK(包括SDK)之后的所有过程,都需要python2 env。

这是一个问题,是不可能用python3(官方)运行gcloud呢? (SDK和python2与gcloud库是最好的方法吗?)

答案

我通过指定Python 2的路径(我在我的系统上命名为python2)解决了这个问题。

$ export CLOUDSDK_PYTHON=$(which python2)
$ ./install.sh

我建议将导出添加到.bashrc.zshrc文件中。

另一答案

gcloud-pythongcloud-cli as in Cloud SDK是一些不相关的产品。确实你需要python 2.7.x来运行gcloud-cli,但这并不妨碍你使用python3和gcloud-python库。

如果您安装python 2.7x和3.5的多个版本(例如,您甚至可以使python3默认)只要您将CLOUDSDK_PYTHON环境变量设置为指向python 2.7.x解释器,您应该能够在使用python3时运行gcloud-cli你的项目。

例如,在Windows上,Cloud SDK打包自己的python,它不会与您在系统上可能拥有的任何其他版本冲突。它是gcloud-cli的纯运行时依赖。

另一答案

系统要求明确表示python 2.7.x https://cloud.google.com/sdk/downloads

你为什么要用python3运行gcloud?

另一答案

install.sh内部,它表示支持python3但没有优先级,因为我认为python 2更普遍。这意味着如果你运行macOS,通过echo "export CLOUDSDK_PYTHON=/your/path/to/python3" >> ~/.bash_profile添加一行环境变量将允许gcloud使用任何python3。

如果它不起作用,那么将它指向任何python 2并且只使用python 3为你自己的工作应该解决问题。

# if CLOUDSDK_PYTHON is empty
if [ -z "$CLOUDSDK_PYTHON" ]; then
  # if python2 exists then plain python may point to a version != 2
  if _cloudsdk_which python2 >/dev/null; then
    CLOUDSDK_PYTHON=python2
  elif _cloudsdk_which python2.7 >/dev/null; then
    # this is what some OS X versions call their built-in Python
    CLOUDSDK_PYTHON=python2.7
  elif _cloudsdk_which python >/dev/null; then
    # Use unversioned python if it exists.
    CLOUDSDK_PYTHON=python
  elif _cloudsdk_which python3 >/dev/null; then
    # We support python3, but only want to default to it if nothing else is
    # found.
    CLOUDSDK_PYTHON=python3
  else
    # This won't work because it wasn't found above, but at this point this
    # is our best guess for the error message.
    CLOUDSDK_PYTHON=python
  fi
fi

以上是关于有没有办法使用gcloud与python3?的主要内容,如果未能解决你的问题,请参考以下文章

在 python 脚本中运行 gcloud auth 和 gsutil 命令

Windows 上的 Gcloud 命令(使用 git bash)正在记录错误:WindowsApps/python3:权限被拒绝

让 fish shell 与 gcloud 命令行工具一起工作?

减少 gcloud Google Compute Platform CLI 冗长

Gcloud 部署特定文件

如何禁用`gcloud preview app run'的运行状况检查