在 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
当我输入时:
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