当我尝试部署我的应用时,出现以下错误:
Starting update of app: flyingbat123, version: 0-1 Getting current resource limits. Password for avigmati: Traceback (most recent call last): File "C:\Program Files (x86)\Google\google_appengine\appcfg.py", line 125, in run_file(__file__, globals()) File "C:\Program Files (x86)\Google\google_appengine\appcfg.py", line 121, in run_file execfile(script_path, globals_) File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\appcfg.py", line 4062, in main(sys.argv) File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\appcfg.py", line 4053, in main result = AppCfgApp(argv).Run() File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\appcfg.py", line 2543, in Run self.action(self) File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\appcfg.py", line 3810, in __call__ return method() File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\appcfg.py", line 3006, in Update self.UpdateVersion(rpcserver, self.basepath, appyaml) File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\appcfg.py", line 2995, in UpdateVersion self.options.max_size) File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\appcfg.py", line 2122, in DoUpload resource_limits = GetResourceLimits(self.rpcserver, self.config) File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\appcfg.py", line 355, in GetResourceLimits resource_limits.update(GetRemoteResourceLimits(rpcserver, config)) File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\appcfg.py", line 326, in GetRemoteResourceLimits version=config.version) File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\appengine_rpc.py", line 379, in Send self._Authenticate() File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\appengine_rpc.py", line 437, in _Authenticate super(HttpRpcServer, self)._Authenticate() File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\appengine_rpc.py", line 281, in _Authenticate auth_token = self._GetAuthToken(credentials[0], credentials[1]) File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\appengine_rpc.py", line 233, in _GetAuthToken e.headers, response_dict) File "C:\Program Files (x86)\Google\google_appengine\google\appengine\tools\appengine_rpc.py", line 94, in __init__ self.reason = args["Error"] AttributeError: can't set attribute 2012-04-25 19:30:15 (Process exited with code 1)
以下是我的app.yaml:
application: flyingbat123 version: 0-1 runtime: python api_version: 1 threadsafe: no
这似乎是身份验证错误,但我输入的是有效的电子邮件和密码。 我做错了什么?
答案 0 :(得分:13)
我遇到了同样的问题。
我正在为我的Google帐户使用2因素身份验证,因此我之前必须输入应用程序专用密码才能将应用程序部署到GAE。如果我输入正常的谷歌密码,我收到AttributeError: can't set attribute
错误。但是,当我创建application specific password并使用它时,它可以正常工作
答案 1 :(得分:7)
错误消息表明我们的SDK中存在错误。由于这个bug,你无法看到失败的原因。但是,仅当身份验证请求以403 HTTP错误结束时才会调用此代码块。
您可以按如下方式临时调整文件C:\ Program Files(x86)\ Google \ google_appengine \ google \ appengine \ tools \ appengine_rpc.py以查看实际原因(添加logger.warn(body)
行)。
except urllib2.HTTPError, e:
if e.code == 403:
body = e.read()
# Add a line bellow to see the actual error
logger.warn(body)
response_dict = dict(x.split("=", 1) for x in body.split("\n") if x)
raise ClientLoginError(req.get_full_url(), e.code, e.msg,
e.headers, response_dict)
else:
raise
一旦找到原因,这个问题必须要容易解决。在您解决问题之后,如果您可以在our issue tracker中创建有关此神秘错误消息的问题,我将不胜感激?
答案 2 :(得分:2)
我知道这不会回答OP问题,但它可以帮助其他人在这个问题中使用其他人提到的--oauth2
遇到问题。
我启用了两步验证,并且我一直在使用特定于应用程序的密码,但发现每天查找并粘贴长字符串非常繁琐。我发现使用--oauth2
返回
This application does not exist (app_id=u'my-app-id')
但是添加了--no_cookies
选项
appcfg.py --oauth2 --no_cookies update my-app-folder\
我现在可以通过单击打开的浏览器窗口中的[允许访问]来进行每次身份验证。
我在Windows 7上使用Python SDK 1.7.2
注意:我在其他地方找到了这个解决方案,但我不记得在哪里,所以我无法正确归因于它。遗憾。
。
答案 3 :(得分:1)
我有同样的问题,插入logger.warn(正文)后,我得到了这个:
WARNING appengine_rpc.py:231 Error=BadAuthentication
Info=InvalidSecondFactor
标准错误消息可能更有帮助,但这让我想知道我是否应该使用特定于应用程序的密码?
答案 4 :(得分:1)
将--oauth2标志添加到appcfg.py更新以获得更简单的修复
答案 5 :(得分:0)
如果您的default_error
值与static_dirs
中的app.yaml
重叠,也会发生这种情况。