在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)"
homebrew安装时,一般直接在终端直接输入命令:
/usr/bin/ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
但是这个方法在网络有问题时会报如题这个错误。
这个时候直接将文件brew_install.rb下载,然后控制台运行ruby brew_install.rb命令即可。此文件下载地址:
链接:https://pan.baidu.com/s/1rVh8bY73NLc77cQYN_2HoQ 密码:n3si
Homebrew换源
1. 替换brew.git:
$ cd "$(brew --repo)"
中科大:
$ git remote set-url origin https://mirrors.ustc.edu.cn/brew.git
清华:
$ git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/brew.git
2. 替换homebrew-core.git:
$ cd "$(brew --repo)/Library/Taps/homebrew/homebrew-core"
中科大:
$ git remote set-url origin https://mirrors.ustc.edu.cn/homebrew-core.git
清华:
$ git remote set-url origin https://mirrors.tuna.tsinghua.edu.cn/git/homebrew/homebrew-core.git
3. 替换homebrew-bottles:
中科大:
$ echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile
$ source ~/.bash_profile
清华:
$ echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles' >> ~/.bash_profile
$ source ~/.bash_profile
4. 应用:
$ brew update
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.3 # 手动安装
# 重新安装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-compose部署postgresql和pgAdmin4
本来一直在用docker部署postgresql和pgAdmin4,但每次部署起来参数很多很麻烦,而且重启容器或者服务器都很麻烦,索性用docker-compose来部署。
准备步骤
安装docker-compose(linux)(mac上一步安装过就不用安装了)
apt install docker-compose
确定已经pull好postgres和pgAdmin4镜像,并且已经创建好docker volume:pgdata,若未完成:
docker pull postgres
docker pull dpage/pgadmin4
docker volume create pgdata
然后在项目目录下新建postgres.yml:
touch ./postgres.yml
配置内容
version: '3'
services:
postgres:
image: postgres:latest
container_name: postgres_dc
volumes:
- pgdata:/var/lib/postgresql/data
environment:
POSTGRES_USER: odoo12 #在此填写postgres的用户名
POSTGRES_DB: postgres #在此填写postgres的数据库名,默认是postgres
POSTGRES_PASSWORD: odoo12 #在此填写posgres的数据库密码
ports:
- "5432:5432"
pgadmin:
image: dpage/pgadmin4:latest
container_name: pgadmin_dc
environment:
PGADMIN_DEFAULT_EMAIL: youremail@yourdomain #在此填写pgAdmin登录账户邮箱
PGADMIN_DEFAULT_PASSWORD: yourpasswd #在此填写pgAdmin密码
ports:
- "5050:80"
volumes:
pgdata:
部署
在当前目录下运行:
docker-compose -f postgres.yml up -d
若需停止运行,在当前目录运行:
docker-compose -f postgres.yml down
连接步骤
打开浏览器,输入localhost:5050,登录pgAdmin4之后,点击添加新服务器,特别注意,在连接地址IP里应该填写docker路由地址,端口填写5432。
docker路由地址查看方法
docker inspect postgres_dc
在输出内容中找到Gateway,对应的地址即为docker路由地址。
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,~/PycharmProject/odoo_project/my_addons
; admin_passwd = admin
; csv_internal_sep = ,
db_host = 0.0.0.0
db_password = odoo12
db_user = odoo12
db_port = 5432
; db_maxconn = 64
; db_name = False
; db_template = template1
; dbfilter = .*
; debug_mode = False
; email_from = False
; limit_memory_hard = 2684354560
; limit_memory_soft = 2147483648
; limit_request = 8192
;limit_time_cpu = 12000
;limit_time_real = 24000
; list_db = True
; log_db = False
; log_handler = [':INFO']
; log_level = info
; logfile = None
; longpolling_port = 8072
; max_cron_threads = 2
; osv_memory_age_limit = 1.0
; osv_memory_count_limit = False
; smtp_password = False
; smtp_port = 25
; smtp_server = localhost
; smtp_ssl = False
; smtp_user = False
; workers = 5
; xmlrpc = True
; xmlrpc_interface =
; xmlrpc_port = 8069
; xmlrpcs = True
; xmlrpcs_interface =
; xmlrpcs_port = 8071
在主目录下新建启动文件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:下一篇文章将为大家带来包含数据库创建页面的优化。