【问题标题】:Installing Google Cloud SDK on CENTOS: Not finding correct Python version在 CENTOS 上安装 Google Cloud SDK:找不到正确的 Python 版本
【发布时间】:2019-07-26 11:35:33
【问题描述】:

当我输入时:

yum install google-cloud-sdk

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

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

我使用的是 CENTOS 6.10

如何解决此错误并安装 Google Cloud SDK?

【问题讨论】:

  • 我会先卸载这两个版本并重新启动。然后安装正确版本的 Python 和 Pip。你的问题是 PATH 的问题,有两个不正确的安装会在未来给你带来痛苦。
  • 首先,如果您想要现代组件,您应该避免使用 Red Hat 产品。避免像瘟疫一样的 Red Hat 和 CentOS。其次,如果您希望 Red Hat 具有现代组件,那么请使用 Fedora。 Fedora 通常会为其提供的所有组件提供最新版本。第三,如果您必须使用 CentOS,则启用Software Collections (SCL) 以获取更新的组件。 SCL 仍然提供较旧的组件,但它们不像 Red Hat 供应那样古老。
  • 您会推荐什么来代替红帽产品?我只是在新服务器上设置它,所以切换对我来说不是太麻烦。
  • Red Hat 和 CentOS 都可以使用。对于 CentOS,我会使用当前版本而不是旧版本。我更喜欢 Debian,其次是 Ubuntu。但是,这是个人喜好,而不是产品推荐。选择您最了解或更愿意花时间学习的操作系统。注意:一些研究报告称,Ubuntu 是云中最流行的 Linux 操作系统。

标签: python linux server google-cloud-platform centos


【解决方案1】:

一种可能的方法是不依赖于特定于操作系统的预打包 SDK,该 SDK 附带的依赖项可能会损害您随意安装/升级 SDK 本身或其组件的能力(如果使用不是由 Google 构建的包,因为您需要等待这些包可用)。

为此,您可以从Installing from versioned archives(或者如果需要,可以从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 上工作得很好,并且在完全操作系统重新安装到 OpenSuSE Leap 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
    

【讨论】:

    猜你喜欢
    • 2017-08-21
    • 1970-01-01
    • 2020-03-07
    • 1970-01-01
    • 1970-01-01
    • 2013-02-11
    • 2021-12-11
    • 2020-04-11
    • 1970-01-01
    相关资源
    最近更新 更多