Odoo 中文社区

    • 注册
    • 登录
    • 搜索
    • 版块
    • 标签
    • 热门
    • 用户
    • 群组

    Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn

    由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解

    本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!

    开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

    如果您登录系统碰到问题,请在微信公众号留言:

    Pycharm 联合调试OpenERP服务端和客户端

    Odoo 开发与实施交流
    7
    8
    12725
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • T
      thm1118 最后由 编辑

      使用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初学者一些帮助。

      1 条回复 最后回复 回复 引用 0
      • Y
        youring 最后由 编辑

        辛苦了!

        鼓掌三分钟!

        1 条回复 最后回复 回复 引用 0
        • Q
          qq342406169 最后由 编辑

          感谢分享,你分享的资料都非常有质量

          1 条回复 最后回复 回复 引用 0
          • Z
            zdz316 最后由 编辑

            感谢分享,适合初学者学习

            1 条回复 最后回复 回复 引用 0
            • wjfonhand
              wjfonhand 最后由 编辑

              很棒!

              GoodERP -- Odoo China fork

              1 条回复 最后回复 回复 引用 0
              • O
                ooJerry 最后由 编辑

                感谢Tiger

                1 条回复 最后回复 回复 引用 0
                • 3
                  332657060qq.com 最后由 编辑

                  我已经把requires.txt的插件全安装完了....包括range 还是提示 引用 range 失败
                  这个有办法解决不

                  1 条回复 最后回复 回复 引用 0
                  • First post
                    Last post