mit Ich habe versucht, ein Projekt auf Google App Engine über appcfg.py zu aktualisieren:Unexpected Schlüsselwort-Argument „Kontext“, wenn appcfg.py
C:\> "C:\Program Files (x86)\Google\google_appengine\appcfg.py" update c:\secondApp
Aber ich bekomme die folgende Fehlermeldung sofort (obere Zeilen werden ignoriert):
File "C:\Python27\lib\urllib2.py", line 1240, in https_open
context=self._context)
TypeError: do_open() got an unexpected keyword argument 'context'
entschied ich mich in die Datei urllib2.py
und finden Sie das Problem zu graben. Nach ein paar Minuten Code-Überprüfung kam ich zu der Schlussfolgerung, dass eine Überladung, die einen Parameter mit dem Namen context
akzeptiert, nicht existiert. Also änderte ich den ursprünglichen Code-Schnipsel:
def https_open(self, req):
return self.do_open(httplib.HTTPSConnection, req,
context=self._context)
zu
def https_open(self, req):
return self.do_open(httplib.HTTPSConnection, req)
und Voila! Es funktioniert (obwohl ein anderes Problem bezüglich der Authentifizierung auftritt, aber das erste Problem gelöst wird). Aber es ist sehr seltsam, dass es in einer offiziellen Version einen Bug wie diesen gibt, während sehr wahrscheinlich andere Leute das gleiche Problem haben. Überraschenderweise konnte ich dieses Problem von niemandem anders gefunden finden!
Ist das Modul falsch? Mische ich falsche Versionen von installierten Paketen? Irgendeine Hilfe?
Meine Google App Engine SDK Version: 1.9.17 x64
Meine installierte Python Version: 2.7.9 x64
Meine Plattform: Windows 8.1 x64
und ich bin nicht vertraut mit Python: D
Lösung:
Als Migel Tissera das Problem erwähnt ist über Authentifizierung. Aber ich habe seinen vorgeschlagenen Befehl ausprobiert und den gleichen Fehler bekommen. Zum Glück habe ich folgenden Befehl und Erfolg ausgeführt! (I hinzugefügt --noauth_local_webserver und --no_cookies schaltet auch):
appcfg.py --noauth_local_webserver --oauth2 --skip_sdk_update_check --no_cookies update c:\secondApp
Dies könnte auch ein Fehler sein mit [GAE am 2.7.9] (http: // stackoverflow.com/questions/27453497) –
Haben Sie die Bestätigung in zwei Schritten für dieses Google-Konto aktiviert? – whiteshooz
@whiteshooz No I do not – Alireza