odoo12从零开始:一、安装odoo运行环境(mac)
写在前面:
接触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依赖包
项目代码:
- git clone -b v1.0 https://github.com/lingjiawen/odoo_project.git
1、安装homebrew
打开终端,输入:
- /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
2、安装git
- brew install git
安装完成后,查看git版本检查是否安装成功:
3、安装python3
最新款的mac已经自己安装python2.7 和 python3.7,检查运行版本:
如果没有,使用homebrew进行安装(homebrew安装python3会自动安装pip3):
- brew install python3
4、安装python虚拟环境
- pip3 install virtualenv
查看是否安装成功:
创建python3虚拟环境到用户目录并激活:
- virtualenv -p python3 ~/odoo12_project #创建虚拟环境
- source ~/odoo12_project/bin/active #激活虚拟环境
5、拉取代码并安装依赖:
- mkdir -pv ~/code/odoo_project # 建立工作目录
- cd ~/code/odoo_project # 进入工作目录
- git clone -b 12.0 https://github.com/odoo/odoo.git
安装所需依赖:
- brew install freetype jpeg libpng libtiff xz webp
- brew install node # 安装node
- npm install -g less less-plugin-clean-css #使用node安装依赖
- # 完成后进入odoo12目录
- cd odoo12
- pip3 install -r requirements.txt # 安装requirements
安装pgcopy2可能会出现如下报错:
可能的解决方法:
方法1:
- pip3 uninstall psycopg2
- pip3 list --outdated
- pip3 install --upgrade wheel
- pip3 install --upgrade setuptools
- pip3 install psycopg2
方法2:
- xcode-select --install
如果上述两种方法无法解决,那么尝试下列办法:
- vim requirements.txt # 编辑文件
- # 找到psycopg2
- # 在前面添加'#'注释
- # 保存退出
- pip3 install psycopg2-binary==2.8. # 手动安装
- # 重新安装requirements
- 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数据库
- docker pull postgres:10
docker pull dpage/pgadmin4
进入项目路径,创建db运行的docker-compose文件:
- cd ~/code/odoo12_project/
- touch docker-compose_db.yaml
- vim docker-compose_db.yaml
文件如下:
- version: '2'
- services:
- postgres_10_db:
- image: postgres:10
- container_name: postgres_10_db
- environment:
- - POSTGRES_USER=odoo12
- - POSTGRES_PASSWORD=odoo12
- - POSTGRES_DB=postgres
- - PGDATA=/var/lib/postgresql/data/pgdata
- volumes:
- - postgres_10_db_volume:/var/lib/postgresql/data/pgdata
- ports:
- - "5432:5432"
- network_mode: bridge
- volumes:
- postgres_10_db_volume:
- external: true
创建容器Volume并运行:
- docker volume create --name=postgres_10_db_volume
- docker-compose -f docker-compose_db.yaml up -d # 守护态运行
- # 运行pgadmin, 账号密码请自己设置
- docker run -p : \
- -e “PGADMIN_DEFAULT_EMAIL=sysadmin" \
- -e “PGADMIN_DEFAULT_PASSWORD=sysadmin" \
- -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文件:
- [options]
- addons_path = ~/code/odoo12_project/odoo12/odoo/addons,~/code/odoo12_project/odoo12/addons
- ; admin_passwd = admin
- ; csv_internal_sep = ,
- db_host = 0.0.0.0
- db_password = odoo12
- db_user = odoo12
- db_port =
- ; db_maxconn =
- ; db_name = False
- ; db_template = template1
- ; dbfilter = .*
- ; debug_mode = False
- ; email_from = False
- ; limit_memory_hard =
- ; limit_memory_soft =
- ; limit_request =
- ;limit_time_cpu =
- ;limit_time_real =
- ; list_db = True
- ; log_db = False
- ; log_handler = [':INFO']
- ; log_level = info
- ; logfile = None
- ; longpolling_port =
- ; max_cron_threads =
- ; osv_memory_age_limit = 1.0
- ; osv_memory_count_limit = False
- ; smtp_password = False
- ; smtp_port =
- ; smtp_server = localhost
- ; smtp_ssl = False
- ; smtp_user = False
- ; workers =
- ; xmlrpc = True
- ; xmlrpc_interface =
- ; xmlrpc_port =
- ; xmlrpcs = True
- ; xmlrpcs_interface =
- ; xmlrpcs_port =
在主目录下新建启动文件set-up,并添加以下内容:
- #!/usr/bin/env python3
- # set server timezone in UTC before time module imported
- import os
- import sys
- __import__('os').environ['TZ'] = 'UTC'
- LIB_PATH = os.path.join(os.path.split(os.path.realpath(__file__))[0], '.', 'odoo12')
- sys.path.append(LIB_PATH)
- import odoo
- if __name__ == "__main__":
- 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)的更多相关文章
- odoo12从零开始:一、安装odoo运行环境(windows10)
前言 鉴于好多朋友说没有mac电脑,windows开发其实也差不了多远,只是个人习惯问题,而且吧,windows的电脑其实配环境也挺快的其实,我在这里再稍微补一个比较简单的windows环境部署,希望 ...
- Python 2/3 安装与运行环境设置
Python 2/3 安装与运行环境设置: 1.Python 软件源:https://www.python.org/ 下载Win版本 https://www.python.org/downloa ...
- Linux环境安装.NET运行环境
Linux环境安装.NET运行环境 Linux环境安装.NET运行环境 1. 构建编译环境: (1) sudo apt-get install build-essential (2) sudo apt ...
- 阿里云服务器ubuntu安装java运行环境
服务器 阿里云服务器ubuntu安装java运行环境 转:http://www.codingyun.com/article/45.html 今天来给大家介绍一下在阿里云ubuntu服务器下安装java ...
- 图文详解安装PHP运行环境
一.什么是PHP运行环境 能够理解人与计算机交流时语言软件,通常指解释PHP编程语言的软件. 例如: PHP(代码) 需要PHP超文本预编译器(软件). Java需要JVM虚拟机 二.安装PHP运行环 ...
- 小记LoadRunner 11 安装VC2005运行环境报错处理
这几天在做性能优化,需要在虚拟机里装个LoadRunner 11.从测试同学那里搞来安装包,按照文档提示安装系统运行环境,提示我要装VC2005 SP1. 安装程序自己安装,报错.截图如下. 于是我又 ...
- 04 Windows安装python运行环境
安装python运行环境 使用微信扫码关注微信公众号,并回复:"Python工具包",免费获取下载链接! 1.卸载程序(电脑未装此程序,跳过此过程) 卸载这两个程序 出现下图所示, ...
- 如何在Mac OS X上安装 Ruby运行环境
对于新入门的开发者,如何安装 Ruby和Ruby Gems 的运行环境可能会是个问题,本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境.此安装方法同样适用于产品环境! 系统需求 首先确定操 ...
- Mac OS X上安装 Ruby运行环境
环境 对于新入门的开发者,如何安装 Ruby和Ruby Gems 的运行环境可能会是个问题,本页主要介绍如何用一条靠谱的路子快速安装 Ruby 开发环境.此安装方法同样适用于产品环境! 系统需求 ...
随机推荐
- mysql语句汇总
MySQL常用命令: show databases; 显示数据库 create database name; 创建数据库 use databasename; 选择数据库 drop database ...
- PHP与ECMAScript_1_变量与常量
PHP ECMAScript 变量命名规则 (相同点) 变量包含:字母.数字.下划线字符 变量只能以字母或下划线开头 变量不能以数字开头 变量名是区分大小写 变量包含:字母.数字.下划线字符 变量只能 ...
- 2. Java基本数据类型及运算符
1. 计算机数制 1.1 计算机信息单位 阅读二进制.字节.字长,回答以下问题: 1. 计算机中采用什么进制存储信息,它的优点是什么 2. 什么是位.字节 3. K.M.G.T.P之间的转换 4. 什 ...
- Thinkphp 5.1.7 parseData缺陷导致insert/update注入 分析
目录 环境搭建 分析 参考 环境搭建 $ composer create-project topthink/think thinkphp-5.1.7 修改composer.json 5.1.* =&g ...
- 以太坊solidity智能合约-生成随机数
Solidity随机数生成 在以太坊的只能合约中,没有提供像其他面向对象编程一样的生成随机数的工具类或方法.其实,所谓的随机数也是伪随机的,没有哪一种语言能够真正的生成随机数. 对于solidity来 ...
- 无法正常卸载pr
控制面板找不到pr和ps,根本无法卸载,我试过官方工具没用,也试过ccleaner,也检测不到?
- 解决报错:类型“System.Object”在未被引用的程序集中定义。必须添加对程序集“System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a”的引用
Razor视图引擎中,使用部分视图编译报错 类型“System.Object”在未被引用的程序集中定义.必须添加对程序集“System.Runtime, Version=4.0.0.0, Cultur ...
- java-极光推送教程
一.准备工作: 1.访问极光推送官网:https://www.jiguang.cn/accounts/login/form 2.注册登陆,拿到appKey和masterSecret 3.创建一个应用, ...
- Go中的日志及第三方日志包logrus
有别的语言使用基础的同学工作中都会接触到日志的使用,Go中自然也有log相关的实现.Go log模块主要提供了3类接口,分别是 "Print .Panic .Fatal ",对每一 ...
- java学习-NIO(五)NIO学习总结以及NIO新特性介绍
我们知道是NIO是在2002年引入到J2SE 1.4里的,很多Java开发者比如我还是不知道怎么充分利用NIO,更少的人知道在Java SE 7里引入了更新的输入/输出 API(NIO.2).但是对于 ...