Pycharm 联合调试OpenERP服务端和客户端
-
使用Pycharm开发调试OpenERP(服务端Python和客户端Javascript 联合调试)----这里是文字,完整在附件
个人认为Pycharm是最好的Python开发工具,配置简单,操作简便,界面清爽,支持远程调试python,javascript调试,集成JDango等web框架,跨平台。功能非常强大。鉴于社区主要推荐的是Eclipse IDE,Eclipse本身是很好,万金油IDE,通过Pydev插件支持Python也不错,另外也有针对OpenERP的模版发布,利于快速开发模块。但对Python初学者来说配置工作比较多,Python本身要安装各种插件,即使以前用eclipse开发过java的人,同样不利于快速上手,因此,向python、或OpenERP初学者推荐Pycharm。
本文分三个部分:1、安装开发环境:Python,Pycharm,OpenERP的Python依赖包。2、配置Pycharm,调试OpenERP服务端Python代码。3、调试OpenERP客户端Javascript代码。
一、 安装开发环境:
1、 下载安装必须软件:
对Python不熟悉的同学,建议安装Python(x,y),600兆,这个第三方发布的Python包集成了很多Python常用社区模块。OpenERP需要十几个Python社区模块。
下载Pycharm,下载专业版,专业版支持javascript调试,试用期过后,其实还是可以使用的。Pycharm是需要jre支持的,如果没有,则需要安装jre。
下载OpenERP代码,解压到硬盘中,注意路径中不能有中文名文件夹。
下载OpenERP数据库,Postgres。安装时,记下数据库管理员用户名和密码。
2、 配置Pycharm和OpenERP:
打开Pycharm,导入OpenERP工程:
选择下载的OpenERP代码目录:
这就完成了OpenERP工程的导入。
展开工程文件,从doc目录下拷贝 conf文件到根目录下:
点击根目录下的conf文件,进行配置:
注意db_user 和db_password是前面安装postgreSQL时的数据库用户名和密码。配置好后,选择工程根目录下的”opener-server”文件,右键点击,弹开菜单,Run。
此时,运行结果,会报很多错误,关注最下面的错误,这些错误大多是模块未安装的错误,并提示缺少什么模块,OpenERP需要的模块列表在工程下目录openerp.egg-info内的文件requires.txt里,如下图:
Python(x,y)已经有了很多插件,剩下大致有如下几个:
这些是Python插件包在window下使用的安装包,下载地址在:http://www.lfd.uci.edu/~gohlke/pythonlibs 。逐个下载安装。
全部安装完后,如还缺少,根据报错信息,找到确认模块名,打开cmd命令行窗口,运行 “pip install 模块名” 安装,模块名有时候与requires.txt文件里的不完全一致,需要到pip官网查询确认https://pypi.python.org/pypi 。
如还是解决不了,到论坛或群里发帖吧。
二、 调试OpenERP服务端python代码:
调试Python服务端代码,只需要在前面运行那里,选择debug即可,注意不要同时开启run和debug,OpenERP是一份代码允许同时运行多个实例的,因此不会提示是否以运行。如下图,只有一个debug窗口。多个运行就会有多个窗口。
服务端代码调试,打开openerp-server文件,打上断点,即可跟踪OpenERP的启动过程:
服务启动流程大致如下:
模块启动完成后,OpenERP服务会开始监听8069端口的http请求,此时代码运行起始在services目录下,wsgi.py文件内,如下断点。即可跟踪对请求的一系列处理。
请求处理流程大致如下:
代码多跟踪几遍,就能掌握。
三、 调试OpenERP客户端javascript代码:
在Pycharm里选择配置:
在弹出窗口内,点击 + 号,添加Javascript Debug配置:
按如下配置,注意URL中的写法http://127.0.0.1:8069/?debug= 。
Debug参数让OpenERP服务输出的是原始js文件。
保存返回主界面,如果此时OpenERP还没启动服务,则先运行operp-server,随便是run或debug。 然后再选择js debug,点击debug按钮:
此时pycharm 会提示你安装 chrome插件,点击安装。安装完毕后,关掉chrome,再次点击debug运行,此时chrome就会连接上pycharm
注意,此时Pycharm开启了两个调试进程,分别是python和javascript:
可以联调js和python了。
选择js debug下的 Scripts tab栏,点击展开http://127.0.0.1:8069目录,选择需要调试的js文件。
比如选择web/static/src/js 目录下的boot.js文件,这个是OpenERP客户端javascript框架的启动文件,断点打在init方法内:
在chrome内登录后,会跳到这个断点,注意调试堆栈和 变量窗口:
如果此时Python代码的运行也是debug模式的话,那么就能够实现客户端和服务端联合调试了。
希望此文能给OpenERP初学者一些帮助。 -
感谢分享,你分享的资料都非常有质量
-
我已经把requires.txt的插件全安装完了....包括range 还是提示 引用 range 失败
这个有办法解决不