用Komodo调试Google App Engine应用程序

Google App Engine是个好东西(简称GAE), 具体是什么我就不说了, GAE的应用是用Python来开发的. 具体请看这里:
http://code.google.com/appengine/

Komodo是一个脚本语言IDE, 对Python支持的非常好, 现在个人版的也免费了. 用Komodo来调式Python程序也很方便. 但是GAE的运行方式和普通的python应用不太一样, 虽然原理是类似的, 但是不能直接在Komodo一点就运行调式.
关于Komodo:
http://www.activestate.com/Products/komodo_ide/index.mhtml

这里要说的是如何用Komodo以调试的方式运行GAE的应用.

首先, 把你的GAE应用在Komodo中建立一个Project:

proj.png

然后在需要调式的代码里设置断点:

breakpoint.png

然后点击工具栏上的调式运行按钮:

run.png

会弹出对话框:

dlg.png

点击new按钮, 可以设定一个名字.

Script输入项, 要改为 D:\google\google_appengine\dev_appserver.py, 就是你的GAE安装目录下的dev_appserver.py文件. 其实如果你要在控制台上运行GAE也要运行这个文件, 不过是:
python dev_appserver.py 程序路径

Script Arguments 输入程序的路径, 如果应用程序的路径在GAE目录下, 则写相对路径, 如果不是则写绝对路径. 其他的参数可以根据http://code.google.com/appengine/docs/thedevwebserver.html#Command_Line_Arguments来确定.

Directory输入 GAE的路径


切换到Envirement页:
env.png

点击New..按钮, 创建一个PYTHONPATH变量

new.png

点击那个向下的箭头, 可以添加多个路径:
var.png

第一项是%PYTHONPATH%, 代表原始的PYTHONPATH变量.
后面有4项, 是GAE中的的Python库路径
这里我预先在系统环境中设置了系统变量GAE_HOME是GAE的安装路径,GAE_LIB=%GAE_HOME%\lib
这四项是:
%GAE_HOME%
%GAE_LIB%\yaml
%GAE_LIB%\django
%GAE_LIB%\webob
设置完毕后点击OK按钮, 然后点击Debug Options菜单的OK按钮, 就开始运行应用程序了
running.png

然后通过浏览器运行你的应用.

vars.png

这样你就可以用Komodo开发调试你的GAE应用了, 很方便是吧!

来源:网络


智能推荐

Android应用程序App应用上线流程

Android应用程序App应用上线流程 1. 首先到各个应用市场平台注册成为开发者(以安卓市场为例) 1) 打开安卓市场官网,点击进入安卓市场,点击注册按钮,进行注册。 2) 填写手机信息,用户注册。 3) 填写开发者资料 4) 填写联系人资料 5) 填写运营人资料 这里注意可以上线app应用程序的网站的很多的,手机应用市场行业发布TOP10排名(应用宝、360手机助手、小米、华为、百度手机助手...

Android应用程序App应用上线流程

Android应用程序App应用上线流程 http://blog.csdn.net/wenzhi20102321/article/details/54175238 链接:http://www.cnblogs.com/zhengtu2015/p/6050011.html 安卓应用商店(一个商店也叫做一个渠道,如360,baidu,xiaomi)众多,大大小小几百个,我们发布应用之后需要统计各个渠道的...

原型对象,原型链

函数都有prototype属性,它指向原型对象。 实例对象有__proto__属性,它指向对象原型 每一个原型对象都有constructor输赢,指向构造函数,每一个原型对象又具有__proto__属性,这个指向Object.prototype.在这里插入图片描述...

Node 调用 dubbo 服务的探索及实践

2.Dubbo简介 2.1 什么是dubbo Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。 2.2 流程图 Provider : 暴露服务的服务提供方。 Consumer : 调用远程服务的服务消费方。 Registry : 服务注册与发现的注册中心。 Monito...

mysql总结

mysql基础入门的总结     关于数据库:     数据库是软件开发人员要掌握的基本工具,软件的运行的过程就是操作数据的过程,数据库中的数据无非就是几个操作:增-删-查-改。         Mysql安装完成后,需要配置变量环境,找到配置路径path,然后把mysql安装目录bin文件导入就可以了。 然后运行cm...

猜你喜欢

adb及monkey常用命令

adb常用命令: 查看手机是否连接:adb devices   连接设备:adb connect 设备ip:端口号  若有连接多个设备需指明设备ip及端口号 安装APP:adb install [-r] 包名  -r表示覆盖安装,首次安装可省略 卸载APP:adb uninstall 包名 列出设备中所有应用包名:adb shell pm list packages ...

PC端浏览器如何设置无图模式

以谷歌浏览器为例,注意有些浏览器并不支持该功能。 1)打开自定义与控制 2)选择设置 3)查看左边状态栏,选择高级设置--》隐私设置和安全性 4)选择内容设置 5)图片 6)选择不显示任何图片,其中也可以只禁用某些网站图片,或者只开启自己想显示图片的网站...

2021-06-08

IDEA中使用springMVC 出现 404请求的资源不可用的其他一个可能原因 如果你确认你在视图解析器中的路径设置没有问题,各种文件名都没问题,却依然出现资源不可用错误 你可以检查这个页面中是否为web部署了工件,没有的话部署一下就好了。...

树莓派连接wifi个人热点和远程windows远程登录

1.安装完系统后在该目录下新建wpa_supplicant.conf文件填入以下信息 ssid是wifi名字 psk是wifi密码 priority:连接优先级,数字越大优先级越高 2.插入sd卡开机自动连接 3.利用ssh登陆树莓派 4. 输入命令 sudo apt-get install xrdp 安装 5.利用windows远程桌面登陆   6.输入登陆用户名密码,完成...

Office 365 中文档协作编辑(Co-Authoring) - Word

Office 365中,将Word与SharePoint/One drive for business相结合,实现协作编辑,是一个特别好的功能。虽然可能大部分时间一个文档同时只有一人编辑,但总会出现这样的情况 - 比如之前公司的一个项目,几个人协作写Statement of Work, 售前工程师在写文档的主题,售后工程师在Verify售前工程师所写的细节并且进行修正,项目经理在向文档中添加项目管...

问答精选

Correctly formatting GCM notifications?

I'm currently trying out the google cloud messaging service with its sample application "Guestbook." https://developers.google.com/cloud/samples/mbs/ I'm attempting to send notifications tha...

Are there any performance benefits of using Asynchronous functions over Synchronous in Node Js?

Now I came across an article that distinguishes between an Asynchronous function and Synchronous functions. From my understanding of the different examples and explanations, synchronous functions are ...

Python: Costing calculator output

Good day all I'm busy creating a small costing calculator for the signage department. I'm not getting the calculator to output the amount. Brief Description: You enter the height and width and then wh...

Flask-SQLAlchemy - model has no attribute 'foreign_keys'

I have 3 models created with Flask-SQLalchemy: User, Role, UserRole role.py: user.py: user_role.py: If I try (in the console) to get all users via User.query.all() I get AttributeError: 'NoneType' obj...

Seeding many PRNGs, then having to seed them again, what is a good quality approach?

I have many particles that follow an stochastic process in parallel. For each particle, there is a PRNG associated to it. The simulation must go through many repetitions to get average results. For ea...

相关问题

相关文章

热门文章

推荐文章

相关标签

推荐问答