无法在 Amazon Linux 上安装 gcloud:语法无效
Can't install gcloud on Amazon Linux : invalid syntax
我正在尝试在我的 EC2 服务器上安装 gcloud 运行 Amazon Linux 4.14.47-56.37 64 位,在交互模式下 运行 以下命令:
curl https://sdk.cloud.google.com | bash
文件下载正确,但安装失败并出现以下回溯:
File "/home/ec2-user/google-cloud-sdk/bin/bootstrapping/install.py", line 12, in <module>
import bootstrapping
File "/home/ec2-user/google-cloud-sdk/bin/bootstrapping/bootstrapping.py", line 32, in <module>
import setup # pylint:disable=g-import-not-at-top
File "/home/ec2-user/google-cloud-sdk/bin/bootstrapping/setup.py", line 55, in <module>
from googlecloudsdk.core import properties
File "/home/ec2-user/google-cloud-sdk/lib/googlecloudsdk/core/properties.py", line 291
self.__sections = {section.name: section for section in sections}
^
SyntaxError: invalid syntax
知道为什么这会导致问题吗?
我是 运行 python 2.7 (2.7.14) Google 推荐的。
除了在 "python" 命令上安装了 python 2.7 之外,我还在 "python2" 命令上安装了 python 2.6。
卸载 python 2.6 解决了问题,Google 云安装在下次尝试时没有问题。
您在本地更新 install.sh 文件以使用 python2.7 而不是 python2。这对我有用
设置 yum 仓库:
# Update YUM with Cloud SDK repo information:
sudo tee -a /etc/yum.repos.d/google-cloud-sdk.repo << EOM
[google-cloud-sdk]
name=Google Cloud SDK
baseurl=https://packages.cloud.google.com/yum/repos/cloud-sdk-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOM
# The indentation for the 2nd line of gpgkey is important.
安装 yum downloader 并下载 rpm,然后使用“--nodeps”安装:
yum install yum-utils
yumdownloader google-cloud-sdk-231.0.0-1.el7.noarch
mv 23873bd6e8459ba6e70e96eb8f03f6ac03cd707ce3c80baa8264c714e030c915-google-cloud-sdk-231.0.0-1.el7.noarch.rpm /usr/local/src/google-cloud-sdk-231.0.0-1.el7.noarch
rpm -ivh --nodeps /usr/local/src/google-cloud-sdk-231.0.0-1.el7.noarch
如果有人再次遇到这个问题,并且您不想卸载 python 2.6 或修改 install.sh,这里是一个在 ec2 实例上对我有用的过程:
打开一个新终端并输入:
curl https://sdk.cloud.google.com | bash
默认情况下,安装不应作为 CLOUDSDK_PYTHON=python2
运行,这会导致 Python 2.6。要更正此问题,请输入此命令:
export CLOUDSDK_PYTHON=python
这将 CLOUDSDK_PYTHON
链接到 Python 3.6
然后
bash google-cloud-sdk/install.sh
最后
./google-cloud-sdk/bin/gcloud init
完成后,您可以通过执行以下操作使用任何 gcloud 或 gsutil 命令:
./google-cloud-sdk/bin/gcloud <your gcloud command>
./google-cloud-sdk/bin/gsutil <your gsutil command>
例如,为了将文件夹从 gs 存储桶复制到您的 ec2 实例:
./google-cloud-sdk/bin/gsutil -m cp -r gs://<bucket_name>/path/to/folder /path/on/your/ec2/instance
-m
选项允许快速传输(使用此选项我可以以平均 81 MiB/s 的速度传输)
希望这对您有所帮助!
已解决的问题:
export CLOUDSDK_PYTHON=python
我正在尝试在我的 EC2 服务器上安装 gcloud 运行 Amazon Linux 4.14.47-56.37 64 位,在交互模式下 运行 以下命令:
curl https://sdk.cloud.google.com | bash
文件下载正确,但安装失败并出现以下回溯:
File "/home/ec2-user/google-cloud-sdk/bin/bootstrapping/install.py", line 12, in <module>
import bootstrapping
File "/home/ec2-user/google-cloud-sdk/bin/bootstrapping/bootstrapping.py", line 32, in <module>
import setup # pylint:disable=g-import-not-at-top
File "/home/ec2-user/google-cloud-sdk/bin/bootstrapping/setup.py", line 55, in <module>
from googlecloudsdk.core import properties
File "/home/ec2-user/google-cloud-sdk/lib/googlecloudsdk/core/properties.py", line 291
self.__sections = {section.name: section for section in sections}
^
SyntaxError: invalid syntax
知道为什么这会导致问题吗?
我是 运行 python 2.7 (2.7.14) Google 推荐的。
除了在 "python" 命令上安装了 python 2.7 之外,我还在 "python2" 命令上安装了 python 2.6。 卸载 python 2.6 解决了问题,Google 云安装在下次尝试时没有问题。
您在本地更新 install.sh 文件以使用 python2.7 而不是 python2。这对我有用
设置 yum 仓库:
# Update YUM with Cloud SDK repo information:
sudo tee -a /etc/yum.repos.d/google-cloud-sdk.repo << EOM
[google-cloud-sdk]
name=Google Cloud SDK
baseurl=https://packages.cloud.google.com/yum/repos/cloud-sdk-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg
https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOM
# The indentation for the 2nd line of gpgkey is important.
安装 yum downloader 并下载 rpm,然后使用“--nodeps”安装:
yum install yum-utils
yumdownloader google-cloud-sdk-231.0.0-1.el7.noarch
mv 23873bd6e8459ba6e70e96eb8f03f6ac03cd707ce3c80baa8264c714e030c915-google-cloud-sdk-231.0.0-1.el7.noarch.rpm /usr/local/src/google-cloud-sdk-231.0.0-1.el7.noarch
rpm -ivh --nodeps /usr/local/src/google-cloud-sdk-231.0.0-1.el7.noarch
如果有人再次遇到这个问题,并且您不想卸载 python 2.6 或修改 install.sh,这里是一个在 ec2 实例上对我有用的过程:
打开一个新终端并输入:
curl https://sdk.cloud.google.com | bash
默认情况下,安装不应作为 CLOUDSDK_PYTHON=python2
运行,这会导致 Python 2.6。要更正此问题,请输入此命令:
export CLOUDSDK_PYTHON=python
这将 CLOUDSDK_PYTHON
链接到 Python 3.6
然后
bash google-cloud-sdk/install.sh
最后
./google-cloud-sdk/bin/gcloud init
完成后,您可以通过执行以下操作使用任何 gcloud 或 gsutil 命令:
./google-cloud-sdk/bin/gcloud <your gcloud command>
./google-cloud-sdk/bin/gsutil <your gsutil command>
例如,为了将文件夹从 gs 存储桶复制到您的 ec2 实例:
./google-cloud-sdk/bin/gsutil -m cp -r gs://<bucket_name>/path/to/folder /path/on/your/ec2/instance
-m
选项允许快速传输(使用此选项我可以以平均 81 MiB/s 的速度传输)
希望这对您有所帮助!
已解决的问题:
export CLOUDSDK_PYTHON=python