Google Cloud构建错误 "print_env_info.py: 错误:无法识别的参数

0 投票
2 回答
1080 浏览
提问于 2025-04-18 03:47

我正在尝试在我的Windows(64位)电脑上搭建一个Google Cloud的开发环境。

我按照https://console.developers.google.com/start/appengine上的Java说明进行操作,但在第6步(“创建你的项目并部署”)时遇到了这个错误信息:

D:\google-app-engine\appengine-try-java>appcfg.cmd -A midyear-tempo-554 update t arget\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,你必须安装Python并将其添加到你的PATH中。作为替代方案,你也可以将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 update t arget\appengine-try-java 使用方法: print_env_info.py [-h] 项目 print_env_info.py: 错误:未识别的 参数: Osofsky\AppData\Roaming\gcloud \tmp-env-info-8445.txt

有什么想法吗?

2 个回答

0

问题似乎出在目录名称中的空格上,它在尝试打印临时文件时遇到了麻烦。以下是我解决这个问题的步骤:

1) 创建一个新的空目录,路径中不要有空格,比如说 D:\google-cloud-sdk\tmp

2) 修改 D:\google-cloud-sdk\bin\appcfg.cmd 文件,把 %APPDATA%\gcloud\ 替换成你刚刚创建的目录路径 D:\google-cloud-sdk\tmp\

0

谷歌企业支持的一个代表,叫做Jordan,给我提供了下面这个修改过的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 

撰写回答