Google App Engine本地(开发)IPython Shell

Udi*_*Udi 8 python google-app-engine ipython

在我当地的Google应用引擎开发环境中,我想使用ipython shell,尤其是能够使用通过dev_server.pydjango manage.py shell命令工作的数据检查模型.

(这意味着ipython shell应该在sys.path修复之后启动app.yaml并被读取和分析,并且本地数据存储已准备好)

这有什么简单的解决方案?

Dan*_*son 7

对于初学者,您可以将应用程序根目录和SDK根目录(google_appengine)放在Python路径中.您还需要yaml安装或添加到SDK lib目录库路径中的一些库.然后您可以导入模块并调用某些功能.

>>> import sys
>>> sys.path.append('/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine')
Run Code Online (Sandbox Code Playgroud)

当然,只要代码路径尝试进行服务调用,库就会引发异常,说它没有绑定任何东西.要将服务库绑定到测试存根,请使用testbed库:

>>> from google.appengine.ext import testbed
>>> tb = testbed.Testbed()
>>> tb.activate()
>>> tb.init_datastore_v3_stub()
>>> from google.appengine.ext import db
>>> import models
>>> m = models.Entry()
>>> m.title = ‘Test’
>>> m.put()
Run Code Online (Sandbox Code Playgroud)

要告知数据存储区测试存根使用开发服务器的数据存储区文件,请将文件路径init_datastore_v3_stub()作为datastore_file参数传递.有关google.appengine.ext.testbed详细信息,请参阅方法的doc注释.

有关测试平台的更多信息:https://developers.google.com/appengine/docs/python/tools/localunittesting