ho cercato di aggiornare un progetto su Google App Engine tramite appcfg.py:imprevisto argomento chiave "contesto" quando si utilizza appcfg.py
C:\> "C:\Program Files (x86)\Google\google_appengine\appcfg.py" update c:\secondApp
ma ottengo il seguente errore immediatamente (top linee vengono ignorate):
File "C:\Python27\lib\urllib2.py", line 1240, in https_open
context=self._context)
TypeError: do_open() got an unexpected keyword argument 'context'
ho deciso di scavare nel file urllib2.py
e trovare il problema. Dopo alcuni minuti di revisione del codice, sono giunto a questa conclusione che un sovraccarico che accetta un parametro denominato context
non esiste. Così, ho cambiato il frammento di codice originale:
def https_open(self, req):
return self.do_open(httplib.HTTPSConnection, req,
context=self._context)
a
def https_open(self, req):
return self.do_open(httplib.HTTPSConnection, req)
e voilà! Funziona (sebbene sorga un altro problema riguardante l'autenticazione, ma il primo problema viene risolto). Ma è molto strano che in una versione ufficiale esista un bug come questo mentre è molto probabile che altre persone abbiano riscontrato lo stesso problema. Sorprendentemente, non ho potuto trovare questo problema segnalato da nessun altro!
C'è qualcosa di sbagliato nel modulo? Sto mescolando le versioni sbagliate dei pacchetti installati? Qualsiasi aiuto?
mio Google App Engine SDK Versione: 1.9.17 x64
mio installata Python Versione: 2.7.9 x64
mio Piattaforma: Windows 8.1 x64
e non ho familiarità con Python: D
Soluzione:
Come Migel Tissera menzionato il problema è di circa autenticazione. Ma ho provato il suo comando proposto e ho ottenuto lo stesso errore. Fortunatamente, ho eseguito il seguente comando e successo! (--noauth_local_webserver ho aggiunto e --no_cookies switch troppo):
appcfg.py --noauth_local_webserver --oauth2 --skip_sdk_update_check --no_cookies update c:\secondApp
Questo potrebbe anche essere un bug con [GAE on 2.7.9] (http: // stackoverflow.it/questions/27453497) –
Hai attivato la verifica in due passaggi per questo account Google? – whiteshooz
@whiteshooz No I non – Alireza