跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

  1. 主页
  2. 版块
  3. Odoo 开发与实施交流
  4. Pycharm 联合调试OpenERP服务端和客户端

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

已定时 已固定 已锁定 已移动 Odoo 开发与实施交流
8 帖子 7 发布者 13.1k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • T 离线
    T 离线
    thm1118
    写于 最后由 编辑
    #1

    使用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 离线
      Y 离线
      youring
      写于 最后由 编辑
      #2

      辛苦了!

      鼓掌三分钟!

      1 条回复 最后回复
      0
      • Q 离线
        Q 离线
        qq342406169
        写于 最后由 编辑
        #3

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

        1 条回复 最后回复
        0
        • Z 离线
          Z 离线
          zdz316
          写于 最后由 编辑
          #4

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

          1 条回复 最后回复
          0
          • W 离线
            W 离线
            wjfonhand
            写于 最后由 编辑
            #5

            很棒!

            GoodERP -- Odoo China fork

            1 条回复 最后回复
            0
            • O 离线
              O 离线
              ooJerry
              写于 最后由 编辑
              #6

              感谢Tiger

              1 条回复 最后回复
              0
              • 3 离线
                3 离线
                332657060qq.com
                写于 最后由 编辑
                #7

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

                1 条回复 最后回复
                0

                • 登录

                • 没有帐号? 注册

                • 登录或注册以进行搜索。
                • 第一个帖子
                  最后一个帖子
                0
                • 版块
                • 标签
                • 热门
                • 用户
                • 群组