2012-04-25 14 views
11

私は私のアプリを展開しようとすると、私は次のエラーを取得する:GAE - 展開エラー: "はAttributeError:設定することはできません属性"

 
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

私は新しいgoogle appengine accを作成し、私のアプリケーションはsucefulをアップロードしました。 しかし、古いアカウントでは、私はまだ展開できません。 – user1356067

+0

古いアカウントではcaptchaを使用してロックを解除する必要がある場合は、https://www.google.com/a/google.com/UnlockCaptcha –

答えて

7

エラーメッセージは、SDKにバグがあることを示しています。このバグのために、あなたは失敗の理由を見ることができません。ただし、このコードブロックは、認証要求が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に作成できたら、どうかありがたいですか?

13

私は同じ問題を抱えていました。 私はGoogleアカウントに2因子認証を使用しています。そのため、以前はアプリケーションをGAEに導入するためにアプリケーション固有のパスワードを入力する必要がありました。私は私の普通のGoogleパスワードを入力した場合、私はAttributeError: can't set attributeエラーが発生しました。私はapplication specific passwordを作成し、それを使用する場合しかし、それは

+0

からアンロードしてみてください。これは私が2レベルの認証を受けており、アプリケーション固有のパスワードを作成しています問題を解決します。 – csadam

+0

+1。それはそれをブロックするような2つの要素認証(SMSコードが必要)でした。提案されたアプリケーション固有のパスワードを生成した後、私のアプリは正常にアップロードされました。 – goosemanjack

+0

かそれ以上の方:新しい '--oauth2'オプションを使用してください。 – proppy

1

を働いていた私は、同じ問題を抱えていたとlogger.warn(ボディ)を挿入した後、私はこれを取得: WARNING appengine_rpc.py:231 Error=BadAuthentication Info=InvalidSecondFactor

標準エラーメッセージがより有用されている可能性がしかし、これはアプリケーション固有のパスワードを使用すべきではないかと思います。

+0

私は今アプリケーション固有のパスワードを生成し、それは動作します! –

+0

これは2段階認証が有効な場合に発生します。 passwrodはhttps://accounts.google.com/b/0/SmsAuthConfigで生成される可能性があります –

1

私は、これはOPの質問に答えていないが、それはこの質問に他の人が言及した--oauth2を使用して問題が発生した他の人を助けることを知って簡単に修正

2

ためappcfg.py更新に--oauth2フラグを追加します。 。

2段階認証が有効になっていて、アプリケーション固有のパスワードを使用していましたが、毎日長い文字列を検索して貼り付けるのが面倒です。私は--oauth2を使用して

This application does not exist (app_id=u'my-app-id')

を返すことがわかったが、私は今ちょうどクリックすると、各時間を認証することができる

appcfg.py --oauth2 --no_cookies update my-app-folder\

--no_cookiesオプションを追加することによって開かれたブラウザウィンドウで、[アクセスを許可] 。

私はNOTE

のWindows 7上のPython SDK 1.7.2を使用しています:私は他の場所で、この解決策を見つけたが、私はどこ覚えることができないので、私はそれを正しく属性することはできません。ごめんなさい。

0

default_errorの値がstatic_dirsと重複している場合は、app.yamlになります。

関連する問題