Ich habe Python 2.7.2 (Win7 32-Bit) und Google App Engine SDK 1.6.1 für Win7 auf einem 64-Bit-System mit Win7 Home Premium installiert. Standardordner für Python und GAE Wenn ich versuche, das Projekt helloworld wie im Google Python-Dokument Erste Schritte beschrieben auszuführen, wird der Startknopf des Startbildschirms nie aktiviert. Das GAE SDK soll mit Python 2.7 funktionieren.
Gibt es eine vollständige Auflistung der Umgebungsvariablen, die für diese Einrichtung benötigt werden? Bis jetzt sind alle Beiträge, die ich gesehen habe, von Nutzern, die diesen absolut grundlegenden Schritt hinter sich haben.
Die Google-Dokumente zum Einrichten von GAE mit Python 2.7 haben einige Probleme. Wenn Sie versuchen, die grundlegende "Hello World" -App über die GUI App Engine-Benutzeroberfläche zu starten, sehen Sie nach der Ausführung der Anweisungen wahrscheinlich roten Text und alle Schaltflächen sind ausgegraut?
Wenn ja, liegt das daran, dass es Fehler in Ihrem helloworld.py-Programm gibt - hier sind die Google-Anweisungen fehlgeschlagen.
Die Importanweisung, die sie in den Anweisungen haben:
%Vor%Dies schlägt fehl, es muss auf die lokale Instanz der Webanwendung von GAE verweisen. Auch ihr Python 2.7-Programm ist unvollständig. Wenn Sie sich das Python 2.5-Beispiel ansehen, sehen Sie das vollständige Programm (möglicherweise müssen Sie webapp - & gt; webapp2 für Python 2.7 ändern?):
%Vor%Letztendlich bezieht sich die YAML-Datei in den Google-Anweisungen auf "helloworld.app" - das kann ich nicht bestätigen, aber ich denke, es muss "helloworld.py" sein ?? Ich weiß nicht, ich könnte mich irren.
Seit Sie die Frage gestellt haben, sind ein paar Monate vergangen. Wenn Sie irgendwelche Details herausgefunden haben, können Sie diese Frage gerne aktualisieren.
Ich habe das helloworld-Beispiel mit der Gästebuch-Demo verglichen und festgestellt, dass das Anwendungselement der Schlüssel war. Ich habe die Zeile oben in der app.yaml-Datei "application: helloworld" hinzugefügt und das Helloworld-Beispiel hat mit der Google App Engine (GAE) begonnen. Beachten Sie, dass das Element 'application' optional sein soll, wie in der Referenz zu app.yaml definiert. Es scheint, dass es optional ist, wenn Sie die Befehlszeile verwenden, und es ist nicht optional, wenn Sie GAE verwenden.
Sehen Sie irgendetwas in den GAE SDK-Protokollen?
Welchen Browser benutzen Sie? Was ist dein Standardbrowser?
Die Standardsicherheitseinstellungen in IE erfordern, dass Sie den Intranetzugang aktivieren.
Ich musste vor kurzem meine Win7 Dev Box neu erstellen. Chrome war mein Standardbrowser. Als ich GAE SDK v1.6.1 installiert habe, hatte ich ein ähnliches Problem wie das, was Sie beschreiben.
Ich habe die Logs überprüft und mit der Browserkonfiguration herumgespielt, um das Problem zu lösen.
Meine Erinnerung war, dass ich den Intranet-Sicherheitsfehler sah, nachdem ich IE 9 wieder zu meinem Standardbrowser gemacht hatte. Nachdem der Zugriff auf Intranet-Sites wie localhost: 8080 aktiviert wurde, funktionierten die Dinge in Ordnung, aber der Start war manchmal langsam. Dann habe ich Chrome wieder zu meinem Standard-Browser gemacht und das Starten wurde ein bisschen schneller und zuverlässiger.
Ich bin mir ziemlich sicher, weil Sie die Codierung von ANSI zu einem anderen Typ (wie UTF-8) in app.yaml geändert haben,
ändern Sie es zurück zu ANSI, dann können Sie das Projekt in Google App Engine Launcher ausführen.
Übrigens, das helloworld Tutorial auf Google hat kein Problem.
Ich hatte ein ähnliches Problem; Es stellte sich heraus mein Problem war nicht aufgrund von Umgebungsvariablen.
Debugging GAE:
Zuerst möchte ich sagen, dass ich stark empfehle, wenn Sie Probleme mit GAE haben, das Starten über die CLI, google_appengine/dev_appserver.py
, zu empfehlen. Es gibt einen großen Stack-Trace des Grundes, GAE schlägt fehl (anstatt einfach eine rote Link in der GAE Launcher GUI), die Sie in die richtige Richtung zeigen wird.
Versteckte schlechte Zeichen:
Beim Kopieren des Textes aus dem Tutorial "Hallo Welt" von Google gab es am Anfang meiner YAML-Datei ein unsichtbares verstecktes Zeichen (ich fand es mit kdiff, einem Diff-Werkzeug). Nach dem Löschen dieses Charakters wurde meine App gestartet (und in der GAE Launcher GUI nicht als rot angezeigt).
Umgebungsvariablen:
Was Ihre ursprüngliche Frage betrifft, ist die einzige relevante Umgebungsvariable, die ich gesetzt habe, meine PATH-Variable, wo ich den Ordner meiner Python-ausführbaren Datei angehängt habe (in meinem Fall C: \ Python27), damit ich Python-Dateien ohne Angabe ausführen kann Der vollständige Pfad zu Python. Lassen Sie mich jedoch wiederholen, dass dies nicht der Grund für Ihr Problem ist, aber Sie können dies direkt mithilfe der Befehlszeilenschnittstelle bestätigen.
Wie oben pghprogrammer4 , löste ich dieses Problem, indem ich fehlerhafte Zeichen in meinen Dateien löschte. Sie waren in meinem regulären Texteditor unsichtbar (erhabener Text 2), aber ich fand sie mit dem Hex-Editor dieses Editors. Ich wusste, worauf ich achten musste, weil mir am Anfang meiner Gästebuch-App ein Leerzeichen aufgefallen war (ein paar Tutorials). Also habe ich mir das Debugging in Chrome angeschaut und es zeigte den Charakter Zero Width Space . Die Unicode-Site hat den hexadezimalen Wert dieses Zeichens, also habe ich danach gesucht (ich musste nicht weit suchen; es waren die ersten drei Bytes der Datei) und es entfernt. Glücklicherweise hat Sublime Text 2 einen hexadezimalen Modus, aber Sie können einen beliebigen Hex-Editor verwenden, um die schlechten Zeichen zu finden und zu entfernen.
Ich bin mir sicher, dass dies auf eine sehr spezielle Methode des Kopierens und Einfügens von der Google Tutorial-Seite zurückzuführen ist. Es ist mir im Hello World-Beispiel nicht passiert, weil ich das von Hand eingegeben habe. Dann erschien es in einer meiner Dateien, wodurch das CSS nicht geladen wurde. Danach verursachte der Google App Engine Launcher mein Projekt als fehlende Dateien (die im Launcher rot angezeigt wurden). Ich kehrte zu einer funktionierenden Version zurück (nur durch Rückgängigmachen im Texteditor) und kopierte jeden Satz neuer Befehle aus dem Tutorial in die Datei, in der Hoffnung, den Teil des Skripts zu erfassen, mit dem ich fertig war. Aber als ich am Ende war, funktionierte alles. Ich SITZE, dass dieser Fehler beim Kopieren und Einfügen von EINEN ganzen Textkasten von der Tutorial-Site von Google App Engine eingefügt und in eine Ihrer Dateien eingefügt wird. Ich vermute, dass das ZWSP-Zeichen auf der Site als erstes Zeichen in den Code-Boxen oder so existiert, aber es ist spät und ich werde es jetzt nicht weiter untersuchen.
Ich denke, du solltest einfach die Tutorials eingeben - es ist wahrscheinlich eine bessere Art, es trotzdem zu lernen.
Ich habe zwei Änderungen zusammen gemacht - 1. Die Zeile oben in der Datei app.yaml "application: helloworld" hinzugefügt 2. Die letzte Zeile in app.yaml "script: helloworld.app" wurde in "script: helloworld.py"
geändertmeine GAE hat angefangen zu arbeiten. Um jedoch das Problem zu beheben, habe ich beide Änderungen "rückgängig gemacht", es stellt sich heraus, dass die 2. Änderung - helloworld.app zu helloworld.py ändern die Magie
Tags und Links python windows google-app-engine