0

我正在尝试在我的 Windows(64 位)计算机上启动并运行 Google Cloud 开发环境。

我在我的 Windows 计算机上按照https://console.developers.google.com/start/appengine上的 Java 说明进行操作,但在第 6 步(“创建您的项目并部署”)中,我收到了以下错误消息:

D:\google-app-engine\appengine-try-java>appcfg.cmd -A midyear-tempo-554 更新目标\appengine-try-java 用法:print_env_info.py [-h] 项 print_env_info.py: 错误:无法识别的参数:Osofsky\AppData\Roaming\gcloud \tmp-env-info-10521.txt

我能够完成所有其他步骤。唯一的异常是在第 4 步(“在本地运行您的应用程序”)中,当我尝试运行 install.bat 时出现以下错误:

要使用 Google Cloud SDK,您必须在 PATH 上安装 Python。作为替代方案,您也可以将 CLOUDSDK_PYTHON 环境变量设置为 Python 可执行文件的位置。

我通过在 install.bat 中添加以下行成功地解决了这个问题:

set CLOUDSDK_PYTHON=C:\Python27\python.exe

我不确定这是否导致"print_env_info.py: error: unrecognized arguments",但它似乎相关,因为它们都与环境变量有关。所以我添加CLOUDSDK_PYTHON=C:\Python27\python.exe了我的用户级环境变量。然后我启动了一个新的命令提示符,通过已注册的"set"命令进行确认CLOUDSDK_PYTHON=C:\Python27\python.exe,然后再次尝试,但仍然出现此错误:

D:\google-app-engine\appengine-try-java>appcfg.cmd -A midyear-tempo-554 更新目标\appengine-try-java 用法:print_env_info.py [-h] 项 print_env_info.py: 错误:无法识别的参数:Osofsky\AppData\Roaming\gcloud \tmp-env-info-8445.txt

有任何想法吗?

4

2 回答 2

0

问题似乎是目录名称中的空间,它试图打印临时文件。解决为我解决此问题的步骤:

1)创建一些新的空目录,路径中没有空格,例如,D:\google-cloud-sdk\tmp

2)D:\google-cloud-sdk\bin\appcfg.cmd通过替换%APPDATA%\gcloud\为您新创建的目录路径来修改文件D:\google-cloud-sdk\tmp\

于 2014-04-24T19:37:35.213 回答
0

一位名叫 Jordan 的 Google 企业支持代表在下面给了我修改后的 appcfg.cmd 文件。它帮助我克服了我遇到的错误。不幸的是,现在还有另一个问题,但我认为下面的解决方案解决了我发布的原始错误。感谢 Heeryu 和 Tatiana 提供的帮助。

@echo off 

rem Copyright 2013 Google Inc. All Rights Reserved. 



cmd /c "python "%~dp0bootstrapping\prerun.py" --command-name=appcfg-java --component-id=gae-java --check-credentials --check-updates" 

IF %ERRORLEVEL% NEQ 0 ( 

EXIT /B %ERRORLEVEL% 

) 



SETLOCAL 



set TMPFILE=%APPDATA%\gcloud\tmp-env-info-%RANDOM%.txt 



cmd /c "python "%~dp0bootstrapping\print_env_info.py" gae_java_path > "%TMPFILE%" 

IF %ERRORLEVEL% NEQ 0 ( 

EXIT /B %ERRORLEVEL% 

) 



set /p credential_path= < "%TMPFILE%" 

del "%TMPFILE%"



cmd /c ""%~dp0..\platform/appengine-java-sdk\bin\appcfg.cmd" --oauth2 --oauth2_config_file="%credential_path%" %*" 

IF %ERRORLEVEL% NEQ 0 ( 

EXIT /B %ERRORLEVEL% 

) 



ENDLOCAL 
于 2014-04-24T23:39:23.963 回答