In meiner lokalen Entwicklungsumgebung für Google Apps-Engines möchte ich eine ipython-Shell verwenden, um insbesondere Modelle mit Daten auszuchecken, die über dev_server.py
erstellt wurden.
sehr ähnlich wie djangos manage.py shell
Befehl funktioniert.
(Dies bedeutet, dass die ipython-Shell gestartet werden sollte, nachdem sys.path
repariert wurde und app.yaml
gelesen und analysiert wurde und der lokale Datenspeicher bereit ist)
Irgendeine einfache Lösung dafür?
Als Erstes können Sie Ihr Anwendungsstammverzeichnis und das SDK-Stammverzeichnis ( google_appengine
) in Ihren Python-Pfad einfügen. Sie benötigen außerdem einige Bibliotheken wie yaml
, die vom Verzeichnis lib
des SDK installiert oder zum Bibliothekspfad hinzugefügt wurden. Dann können Sie Module importieren und einige Funktionen aufrufen.
Sobald ein Codepfad versucht, einen Serviceaufruf zu tätigen, löst die Bibliothek natürlich eine Ausnahme aus und sagt, dass sie an nichts gebunden ist. Verwenden Sie die Testbed-Bibliothek, um die Dienstbibliotheken an Teststubs zu binden:
%Vor% Um dem Datastore-Test-Stub mitzuteilen, dass er die Datenspeicherdatei des Entwicklungsservers verwenden soll, übergeben Sie den Pfad zur Datei an init_datastore_v3_stub()
als Argument datastore_file
. Weitere Informationen finden Sie im Dokumentationskommentar für die Methode in google.appengine.ext.testbed
.
Weitere Informationen zum Testbed: Ссылка
Grundsätzlich müssen Sie Folgendes verwenden: Ссылка
Für die IPython-Unterstützung haben Sie zwei Möglichkeiten:
(1) Wenn Sie mit Python 2.7 (und IPython 0.13) arbeiten, müssen Sie dies verwenden, um eine IPython-Shell einzubetten:
%Vor%(2) Wenn Sie mit Python 2.5 (und IPython 0.10.2) arbeiten, müssen Sie diese Zeile verwenden, um eine IPython-Shell einzubetten:
%Vor%Dies ist die eine, die ich verwende: Ссылка , also gib einfach ein ..
%Vor%Tags und Links python google-app-engine ipython