让 gcloud 在 Cygwin Windows 中运行

4

我刚开始学习编程,已经开始使用Google App Engine开发应用程序。我正在尝试让Google Cloud SDK在Windows的Cygwin 32中正常工作。我首先运行curl命令下载Google SDK文件,然后运行install.py脚本安装SDK。但是,在Cygwin中调用gcloud时,我收到以下消息:

Ammar Husain@Ammar-Computer:~
$ gcloud
/cygdrive/c/Users/Ammar Husain/google-cloud-sdk/bin/gcloud: line 102: C:\Python27: command not found

我已经到处寻找解决方法,但都没有成功。我检查了程序文件中的gcloud文件,似乎Python根目录可能存在问题,但我不确定。这也可能是我的环境变量的问题。

有人可以帮忙吗?

3个回答

4

我遇到了与Python不能理解cygwin路径的同样问题。我没有更改gcloud脚本,而是创建了一个C:/cygdrive文件夹。然后,我打开了Windows命令提示符并转到新文件夹。在那里,我运行了mklink /D c C:\

这将以一种Python能理解的方式创建到C驱动器的链接,即/cygdrive/c/…


2
这对我也起作用了,谢谢!只是需要提醒其他人的是:mklink命令需要使用管理员权限的命令提示符(可以通过上下文菜单中的“以管理员身份运行”选项启动)。 - typeracer
这是我的问题,虽然它不完全是 OP 遇到的问题。但我遇到了这个错误:无法打开文件 '/cygdrive/ ... /google-cloud-sdk/lib/gcloud.py':[Errno 2] 没有那个文件或目录。 - Axonn

2

首先:Cygwin 32?您有32位机器吗?否则,64位版本将是更好的选择!

如果您没有通过Cygwin安装Python,请参阅此处:在Windows上使用Python

如果您通过Cygwin安装了Python,请参阅此处:在Windows上设置Python

您还可以在此处查看:在Cygwin上设置Python路径

无论哪种情况,您都必须将Python目录添加到Windows和Cygwin的PATH变量中:

set PYTHONPATH=%PYTHONPATH%;C:\Path-to-python
echo "PATH=\$PATH:/cygdrive/c/Path-to-python" >> .bash_profile

1
注意:使用Cygwin64会导致以下错误:错误:Google Cloud SDK不支持Cygwin 64位版本。请使用32位版本的Cygwin。 - HidekiAI
1
64位版本运行得非常好,@HidekiAI。使用没有空格或大括号的文件夹对我很有帮助。 - Dr. Max Völkel
这并没有帮助。在cygwin中运行gcloud时,我仍然会收到“C:\ Python27 \ python.exe:无法打开文件'/ cygdrive / c / Users ....”错误。我在gcloud工具中进行了一次黑客攻击。在gcloud脚本中添加以下行:CLOUDSDK_ROOT_DIR =“C:\ Users \ $ USER \ AppData \ Local \ Google \ Cloud SDK \ google-cloud-sdk”。虽然有点hacky,但目前这是我能找到的唯一解决方案。 - rubenhak

0
安装完 Python 3.8 后,我在 Cygwin 中使用了 Linux 版本的归档文件(从...获取)。

https://cloud.google.com/sdk/docs/downloads-versioned-archives

然后,我按照以下步骤将其安装在我的Cygwin主目录中:

$ tar -xvf google-cloud-sdk-xxx.x.x-linux-x86_64.tar.gz
$ ./google-cloud-sdk/install.sh
$ source ~/.bashrc // 

它对我起作用了


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接