写在前面:

接触odoo已经两年多了,在大学做课程设计的时候,无意间了解到odoo这个erp框架,当时的odoo在国内还默默无闻,我也不曾想过自己毕业后会从事到odoo框架的相关开发工作中来。两年多的时间里,我见证了它在国内的发展,也随着工作经验的积累,对odoo已经有了一定的了解,在这里,我希望能分享自己两年多来学习到的一些知识和经验,也希望有可能吸引到更多的朋友加入到odoo的开发中来。

根据初步的想法,文章将会包含odoo开发环境的搭建(Mac),个性化,ORM模块,controller,视图、模板、记录以及其继承机制,widget,权限,打印模板,报表,部署,源码分析等部分。关于更新时间,由于本人家境贫寒,每日上下班通勤时间高达三个小时,工作日能抽出的时间比较有限,主要将在周末更新。给自己定一个小目标,每周至少更新两到三篇文章。

在Mac Os上安装odoo12开发环境

我们将要安装的软件包:

1)、git: 代码管理

2)、postgres: odoo12运行所需要的数据库

3)、docker: 用于构建postgres容器,pgadmin4容器

4)、>=python3.5: odoo12运行的python环境

4)、odoo requirements: 运行odoo需要的python依赖包

项目代码:

  1. git clone -b v1.0 https://github.com/lingjiawen/odoo_project.git

1、安装homebrew

打开终端,输入:

  1. /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

2、安装git

  1. brew install git

安装完成后,查看git版本检查是否安装成功:

3、安装python3

最新款的mac已经自己安装python2.7 和 python3.7,检查运行版本:

如果没有,使用homebrew进行安装(homebrew安装python3会自动安装pip3):

  1. brew install python3

4、安装python虚拟环境

  1. pip3 install virtualenv

查看是否安装成功:

创建python3虚拟环境到用户目录并激活:

  1. virtualenv -p python3 ~/odoo12_project #创建虚拟环境
  2. source ~/odoo12_project/bin/active #激活虚拟环境

5、拉取代码并安装依赖:

  1. mkdir -pv ~/code/odoo_project # 建立工作目录
  2. cd ~/code/odoo_project # 进入工作目录
  3. git clone -b 12.0 https://github.com/odoo/odoo.git

安装所需依赖:

  1. brew install freetype jpeg libpng libtiff xz webp
  2. brew install node # 安装node
  3. npm install -g less less-plugin-clean-css #使用node安装依赖
  4. # 完成后进入odoo12目录
  5. cd odoo12
  6. pip3 install -r requirements.txt # 安装requirements

安装pgcopy2可能会出现如下报错:

可能的解决方法:

方法1:
  1. pip3 uninstall psycopg2
  2. pip3 list --outdated
  3. pip3 install --upgrade wheel
  4. pip3 install --upgrade setuptools
  5. pip3 install psycopg2
方法2:
  1. xcode-select --install

如果上述两种方法无法解决,那么尝试下列办法:

  1. vim requirements.txt # 编辑文件
  2. # 找到psycopg2
  3. # 在前面添加'#'注释
  4. # 保存退出
  5. pip3 install psycopg2-binary==2.8. # 手动安装
  6. # 重新安装requirements
  7. pip3 install -r requirements.txt

6、安装docker

直接访问官网hub登录下载docker桌面版并运行: https://hub.docker.com/editions/community/docker-ce-desktop-mac

查看docker和docker-compose版本:

7、使用docker安装postgres数据库

  1. docker pull postgres:10
    docker pull dpage/pgadmin4

进入项目路径,创建db运行的docker-compose文件:

  1. cd ~/code/odoo12_project/
  2. touch docker-compose_db.yaml
  3. vim docker-compose_db.yaml

文件如下:

  1. version: '2'
  2. services:
  3. postgres_10_db:
  4. image: postgres:10
  5. container_name: postgres_10_db
  6. environment:
  7. - POSTGRES_USER=odoo12
  8. - POSTGRES_PASSWORD=odoo12
  9. - POSTGRES_DB=postgres
  10. - PGDATA=/var/lib/postgresql/data/pgdata
  11. volumes:
  12. - postgres_10_db_volume:/var/lib/postgresql/data/pgdata
  13. ports:
  14. - "5432:5432"
  15. network_mode: bridge
  16.  
  17. volumes:
  18. postgres_10_db_volume:
  19. external: true

创建容器Volume并运行:

  1. docker volume create --name=postgres_10_db_volume
  2. docker-compose -f docker-compose_db.yaml up -d # 守护态运行
  1. # 运行pgadmin, 账号密码请自己设置
  2. docker run -p : \
  3. -e PGADMIN_DEFAULT_EMAIL=sysadmin" \
  4. -e “PGADMIN_DEFAULT_PASSWORD=sysadmin" \
  5. -d dpage/pgadmin4

查看运行状态:

我们已经注意到数据库已经运行,端口为5432,pgadmin运行端口为8888,在浏览器输入localhost:8888访问pgadmin:

8、使用pycharm运行odoo12:

1)打开pycharm(如没有pycharm请自行下载安装,不再赘述),打开项目,如图:

2)设置虚拟环境运行:

左上角点开pycharm->preferences->project->project interpreter->setting->add:

3)选择existing environment,路径选择刚刚创建的odoo12_project/bin.python,点击ok。

4)添加启动文件:

在目录下新建config目录,在config目录下新建odoo.conf文件:

  1. [options]
  2. addons_path = ~/code/odoo12_project/odoo12/odoo/addons,~/code/odoo12_project/odoo12/addons
  3. ; admin_passwd = admin
  4. ; csv_internal_sep = ,
  5. db_host = 0.0.0.0
  6. db_password = odoo12
  7. db_user = odoo12
  8. db_port =
  9. ; db_maxconn =
  10. ; db_name = False
  11. ; db_template = template1
  12. ; dbfilter = .*
  13. ; debug_mode = False
  14. ; email_from = False
  15. ; limit_memory_hard =
  16. ; limit_memory_soft =
  17. ; limit_request =
  18. ;limit_time_cpu =
  19. ;limit_time_real =
  20. ; list_db = True
  21. ; log_db = False
  22. ; log_handler = [':INFO']
  23. ; log_level = info
  24. ; logfile = None
  25. ; longpolling_port =
  26. ; max_cron_threads =
  27. ; osv_memory_age_limit = 1.0
  28. ; osv_memory_count_limit = False
  29. ; smtp_password = False
  30. ; smtp_port =
  31. ; smtp_server = localhost
  32. ; smtp_ssl = False
  33. ; smtp_user = False
  34. ; workers =
  35. ; xmlrpc = True
  36. ; xmlrpc_interface =
  37. ; xmlrpc_port =
  38. ; xmlrpcs = True
  39. ; xmlrpcs_interface =
  40. ; xmlrpcs_port =

在主目录下新建启动文件set-up,并添加以下内容:

  1. #!/usr/bin/env python3
  2.  
  3. # set server timezone in UTC before time module imported
  4. import os
  5. import sys
  6. __import__('os').environ['TZ'] = 'UTC'
  7.  
  8. LIB_PATH = os.path.join(os.path.split(os.path.realpath(__file__))[0], '.', 'odoo12')
  9. sys.path.append(LIB_PATH)
  10.  
  11. import odoo
  12.  
  13. if __name__ == "__main__":
  14. odoo.cli.main()

最后目录结构如下:

5)pycharm添加配置文件:

Script path: 选择刚才建立的set-up文件

Parameters:指定定配置文件,-c config/odoo.conf

Python interpreter:选择刚才配置的虚拟环境

6)点击运行按钮,我们可以看到odoo12已经在8069端口运行:

7)使用浏览器访问localhost:8069查看效果:

Tips:下一篇文章将为大家带来包含数据库创建页面的优化。

odoo12从零开始:一、安装odoo运行环境(mac)的更多相关文章

  1. odoo12从零开始:一、安装odoo运行环境(windows10)

    前言 鉴于好多朋友说没有mac电脑,windows开发其实也差不了多远,只是个人习惯问题,而且吧,windows的电脑其实配环境也挺快的其实,我在这里再稍微补一个比较简单的windows环境部署,希望 ...

  2. Python 2/3 安装与运行环境设置

    Python 2/3 安装与运行环境设置: 1.Python 软件源:https://www.python.org/    下载Win版本 https://www.python.org/downloa ...

  3. Linux环境安装.NET运行环境

    Linux环境安装.NET运行环境 Linux环境安装.NET运行环境 1. 构建编译环境: (1) sudo apt-get install build-essential (2) sudo apt ...

  4. 阿里云服务器ubuntu安装java运行环境

    服务器 阿里云服务器ubuntu安装java运行环境 转:http://www.codingyun.com/article/45.html 今天来给大家介绍一下在阿里云ubuntu服务器下安装java ...

  5. 图文详解安装PHP运行环境

    一.什么是PHP运行环境 能够理解人与计算机交流时语言软件,通常指解释PHP编程语言的软件. 例如: PHP(代码) 需要PHP超文本预编译器(软件). Java需要JVM虚拟机 二.安装PHP运行环 ...

  6. 小记LoadRunner 11 安装VC2005运行环境报错处理

    这几天在做性能优化,需要在虚拟机里装个LoadRunner 11.从测试同学那里搞来安装包,按照文档提示安装系统运行环境,提示我要装VC2005 SP1. 安装程序自己安装,报错.截图如下. 于是我又 ...

  7. 04 Windows安装python运行环境

    安装python运行环境 使用微信扫码关注微信公众号,并回复:"Python工具包",免费获取下载链接! 1.卸载程序(电脑未装此程序,跳过此过程) 卸载这两个程序 出现下图所示, ...

  8. 如何在Mac OS X上安装 Ruby运行环境

    对于新入门的开发者,如何安装 Ruby和Ruby Gems 的运行环境可能会是个问题,本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境.此安装方法同样适用于产品环境! 系统需求 首先确定操 ...

  9. Mac OS X上安装 Ruby运行环境

    环境   对于新入门的开发者,如何安装 Ruby和Ruby Gems 的运行环境可能会是个问题,本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境.此安装方法同样适用于产品环境! 系统需求 ...

随机推荐

  1. mysql语句汇总

      MySQL常用命令: show databases; 显示数据库 create database name; 创建数据库 use databasename; 选择数据库 drop database ...

  2. PHP与ECMAScript_1_变量与常量

    PHP ECMAScript 变量命名规则 (相同点) 变量包含:字母.数字.下划线字符 变量只能以字母或下划线开头 变量不能以数字开头 变量名是区分大小写 变量包含:字母.数字.下划线字符 变量只能 ...

  3. 2. Java基本数据类型及运算符

    1. 计算机数制 1.1 计算机信息单位 阅读二进制.字节.字长,回答以下问题: 1. 计算机中采用什么进制存储信息,它的优点是什么 2. 什么是位.字节 3. K.M.G.T.P之间的转换 4. 什 ...

  4. Thinkphp 5.1.7 parseData缺陷导致insert/update注入 分析

    目录 环境搭建 分析 参考 环境搭建 $ composer create-project topthink/think thinkphp-5.1.7 修改composer.json 5.1.* =&g ...

  5. 以太坊solidity智能合约-生成随机数

    Solidity随机数生成 在以太坊的只能合约中,没有提供像其他面向对象编程一样的生成随机数的工具类或方法.其实,所谓的随机数也是伪随机的,没有哪一种语言能够真正的生成随机数. 对于solidity来 ...

  6. 无法正常卸载pr

    控制面板找不到pr和ps,根本无法卸载,我试过官方工具没用,也试过ccleaner,也检测不到?

  7. 解决报错:类型“System.Object”在未被引用的程序集中定义。必须添加对程序集“System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”的引用

    Razor视图引擎中,使用部分视图编译报错 类型“System.Object”在未被引用的程序集中定义.必须添加对程序集“System.Runtime, Version=4.0.0.0, Cultur ...

  8. java-极光推送教程

    一.准备工作: 1.访问极光推送官网:https://www.jiguang.cn/accounts/login/form 2.注册登陆,拿到appKey和masterSecret 3.创建一个应用, ...

  9. Go中的日志及第三方日志包logrus

    有别的语言使用基础的同学工作中都会接触到日志的使用,Go中自然也有log相关的实现.Go log模块主要提供了3类接口,分别是 "Print .Panic .Fatal ",对每一 ...

  10. java学习-NIO(五)NIO学习总结以及NIO新特性介绍

    我们知道是NIO是在2002年引入到J2SE 1.4里的,很多Java开发者比如我还是不知道怎么充分利用NIO,更少的人知道在Java SE 7里引入了更新的输入/输出 API(NIO.2).但是对于 ...