在 CENTOS 上安装 Google Cloud SDK:找不到正确的 Python 版本

Installing Google Cloud SDK on CENTOS: Not finding correct Python version

当我输入时:

yum install google-cloud-sdk

我收到一条错误消息,要求 python 的版本大于或等于 2.7。

我确实安装了 2.7,但是当我输入 python -V 时它显示 2.6.6。

我使用的是 CENTOS 6.10

如何修复此错误并安装 Google Cloud SDK?

一种可能的方法是不依赖 OS 特定的预打包 SDK,它附带的依赖项 可能 会损害您 install/upgrade 的能力SDK 本身或其组件(如果使用不是由 Google 构建的包,因为您需要等待这些包可用)。

为此,如果需要,您可以从 Installing from versioned archives (or an older version from the archive GCS bucket 下载最新的通用 linux SDK(google-cloud-sdk-<version>-linux-x86_64.tar.gz 文件)- 您可以在方便的位置解压(个人)我选择了 /usr/local)。它非常独立,甚至允许并排使用多个 SDK 版本——我做到了,我可以使用符号链接随意在版本之间切换。这是它的样子:

my_laptop:/usr/local> ls -la | grep google-cloud-sdk
lrwxrwxrwx  1 root    root        20 Feb 26 22:30 google-cloud-sdk -> google-cloud-sdk-236
drwxr-xr-x  1 root    root       342 Jun 14  2018 google-cloud-sdk-204
drwxr-xr-x  1 root    root       342 Dec 17  2018 google-cloud-sdk-228
drwxr-xr-x  1 root    root       342 Feb 26 22:33 google-cloud-sdk-236

为了不必弄乱路径,我只是将所需的 SDK 可执行文件从 current 版本符号链接到 /usr/local/bin(我已经在我的路径中了):

my_laptop:/usr/local/bin> ls -la | grep google-cloud-sdk
lrwxrwxrwx  1 root root   38 Aug  9  2016 gcloud -> /usr/local/google-cloud-sdk/bin/gcloud
lrwxrwxrwx  1 root root   38 Aug  9  2016 gsutil -> /usr/local/google-cloud-sdk/bin/gsutil

一般来说,这应该适用于各种 Linux 变体(我安装的版本在我相当古老的 OpenSuSE 13.3 上工作得很好,并且在完全 OS 重新安装到 OpenSuSE 后仍然存在飞跃 15.0).

这种方法对您的包管理器应该是完全不透明的(所以不要尝试使用它进行升级),甚至可以作为普通用户来完成,不一定是 root 用户(如果需要的话)。

您可能仍需要解决 python 版本问题才能使用 SDK。如果 python -V 显示 2.6.6,那么您也安装了该版本,并且它是 2.7 之上的首选版本。您的选择:

  • 卸载python 2.6
  • 使用 python2.7 调用 python 而不仅仅是 python:

    my_laptop:/usr/bin> python2.7  -V
    Python 2.7.14
    
  • 更新您的 /usr/bin/python 符号链接以指向您想要的版本:

    my_laptop:/usr/bin> ls -la | grep python
    lrwxrwxrwx 1 root root           9 Feb  6 13:04 python -> python2.7
    lrwxrwxrwx 1 root root           9 Feb  6 13:04 python2 -> python2.7
    -rwxr-xr-x 1 root root        6304 Feb  6 13:05 python2.7
    lrwxrwxrwx 1 root root           9 Jan 31 11:36 python3 -> python3.6
    -rwxr-xr-x 2 root root       10456 Jan 31 11:36 python3.6