搭建Odoo13开发环境

1.系统环境准备
apt-get update && apt-get upgrade  # 安装系统更新
apt-get install sudo  # 安装sudo

# 安装python3(odoo13.0 使用)
mkdir -p /opt/soft/python
cd /opt/soft/python
wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
tar -xzvf Python-2.7.9.tgz
cd Python-2.7.9
./configure
make
make install

# 创建odoo用户(默认当前用户,非必要步骤)
useradd -m -g sudo -s /bin/bash odoo   # 创建odoo用户授予sudo权限
passwd odoo  # 设置odoo用户密码

# -m 确保主目录已创建
# -g sudo用户添加到sudoers列表,可以使用sudo权限
# -s /bin/bash 默认shell到bash,比默认sh好
2.源码安装odoo
sudo apt-get install git   # 安装git 
sudo apt-get install npm  # 安装NodeJs及其软件包管理器
sudo ln -s /usr/bin/nodejs /usr/bin/node  # 创建链接
sudo npm install -g less   # 安装less 编译器

# github拉取odoo代码
mkdir ./odoo_dev
git clone https://www.github.com/odoo/odoo --branch 13.0 --depth=1  # 获取odoo源代码(版本13.0,最新的)
3.安装python虚拟环境
3.1 方法1:利用virtualenv管理虚拟环境
pip install virtualenv  # 安装virtualenv
pip install virtualenvwrapper  # 安装虚拟环境创建/激活/管理/销毁工具virtualenvwrapper

mkdir $HOME/.virtualenvs  # 创建目录存放虚拟环境~/.bashrc中添加行: export WORKON_HOME=$HOME/.virtualenvs
在~/.bashrc中添加行:source /usr/local/bin/virtualenvwrapper.sh
source ~/.bashrc   # 虚拟环境生效

workon 或 lsvitualenv  # 列出虚拟环境列表
mkvitualenv -p python3 虚拟环境名  # 新建虚拟环境
workon 虚拟环境名  # 切换虚拟环境
rmvirtualenv 虚拟环境名  # 删除虚拟环境
deactivate  # 退出虚拟环境
3.2 方法2:利用conda管理虚拟环境
conda create -n odoo13 python=3.6

# 切换虚拟环境
conda activate odoo13

# 退出虚拟环境
conda deactivate

# 查看依赖pip list
conda list

# 查看虚拟环境
conda env list

# 删除虚拟环境
conda remove -n xxxx --all

# 批量安装
conda install --file=requirements.txt
# 单个安装
conda install xxx

conda list -e > requirements.txt
4.安装postgresql数据库(默认端口:5432)

PostgresSQL客户端pgAdmin4:/home/postgres/pgsql/pgAdmin 4/bin/pgAdmin4

资料:https://blog.csdn.net/wh8_2011/article/details/84204438

https://www.jianshu.com/p/e7fe45a10cee

#####  4.1 Ubuntu 安装postgresql:
```python
sudo apt-get install postgresql -y  # 安装postgresql数据库
# sudo su - postgres -c "createuser -s python"  # 创建数据库超级用户python
4.2 命令行执行postgresql
# Linux 命令创建数据库
createdb 数据库名

# 实例:在主机eden上创建demo数据库,端口:5000,编码方式:LATIN1
createdb -p 5000 -h eden -E LATIN1 -e demo  # 法一:linux 创建数据库
create database demo encoding 'LATIN1';   # 法二:postgresql命令行创建数据库

# 进入postgresql数据库命令行
psql  

# 切换指定的数据库
psql -d 数据库名 

\c 数据库名

# 切换用户
\c 用户名

# 指定登陆某数据库
psql 数据库名  

# 创建数据库用户
create user 用户名 with password '用户密码';

# 创建数据库
create database 数据库名 owner 指定数据库拥有者;

# 数据库对指定用户授权
grant all privileges on database 数据库名 to 待指定的授权用户名;

# 实例:进入odoo_demo 数据库
(my_odoo_env) python@PC:~/Desktop/odoo_test_20191122$ psql odoo_demo
psql (10.10 (Ubuntu 10.10-0ubuntu0.18.04.1))
Type "help" for help.

odoo_demo-# \q    
# \p : 表示退出postgresql命令行
# odoo_demo=# :指命令行自带提示
    
# service postgresql start|stop|restart  # 启动 停止  重启
4.3(初次登陆postgresql时)错误提示:psql: FATAL: database “python” does not exist

表示python数据库不存在,使用【sudo -u postgres psql】登陆创建数据库之后创建用户和数据库
参照:https://www.cnblogs.com/maxiaohei/p/10321150.html

5. 安装odoo依赖的第三方包
# 安装前环境准备
apt-get -y install libjs-sphinxdoc libjs-underscore libfontconfig1 libjpeg-turbo8 xfonts-75dpi \ fontconfig fonts-dejavu-core  ttf-bitstream-vera fonts-freefont-ttf gsfonts-x11 gsfonts fontconfig-config \ libtiff5-dev libjpeg8-dev zlib1g-dev libfreetype6-dev liblcms2-dev libwebp-dev tcl8.6-dev tk8.6-dev python-tk \ libldap2-dev libxslt-dev libpq-dev libsasl2-dev libxml2

# 安装odoo13.0依赖包(requirements.txt在diamagnetic中)
pip  install -r requirements.txt

# 第一次配置python依赖库的话估计lxml和pyldap都会装不上,pyldap的话装之前必须要安装libldap2-dev和libsasl2-dev
6.odoo启动(默认端口:8069)

开发网址:http://localhost:8069
测试账号:admin(密码:admin) demo(密码:demo)

6.1 odoo-bin启动
https://localhost:8069(https://www.cnblogs.com/wwh/p/11585453.html)(https://www.jianshu.com/p/4d8e9a8c2b4c)
# odoo-bin直接启动,访问网址需要创建按数据库,并创建角色、密码
        
# python odoo-bin -r root -w admin --addons-path=addons --db-filter=^odoo$ -d odoo -i base --xmlrpc-port 8070
-r 指定数据库用户名
-w 指定数据库密码
–addons-path 指定要加载的模块
–db-filter 指定过滤数据库的表达式
-d指定数据库,在初始启动时,要确保数据库用户权限足够,并且如果错误提示使用-i base参数初始化,则需要在-d odoo后面再加上-i base,意思是在数据库odoo中初始化base模块,当使用多个数据库的时候,每个数据库都要使用-d xxx -i base进行初始化,否则报错无法使用,初始化之后就不需要再使用-d xxx -i base参数了,如果在登录页面选择数据库,而不是一开始指定,也可以不使用–db-filter参数
--xmlrpc-port 指定odoo服务的端口

6.2 配置文件启动:debian 目录拷贝一份odoo.conf

启动命令:python odoo-bin -c odoo.conf

[options]
admin_password = False  # 后台登陆密码
db_host=False    # 数据库地址
db_port=False	# 数据库端口
db_user=root	# 数据库用户
db_password=admin	# 数据库密码
dbfilter=odoo	# 数据库过滤
addons_path=./addons	# addons路径(相对路径)
# 日志
logfile= log/log.service
log_level=debug

db-filter,顾名思义,用于数据库过滤,使用格式为:--db-filter=<filter>,等号右侧是个正则表达式,说明如下:
%h 会被替换为请求的整个主机名
%d 会被替换为请求中除www以外的子域名(因此域odoo.com和www.odoo.com都将匹配odoo数据库)
(1)如果请求的URL为hostname.domainname.com,则%h对应hostname.domainname.com,%d对应hostname。
(2)等号右侧可使用'%d''^%d'或者'^%d$'(^表示正则表达式的开始,$表示正则表达式的结束)
举例来说,如果用如下方式启动Odoo Server:
./openerp-server --db-filter='%d' -c /etc/odoo-server.conf &
则通过域名demo.myhost.com访问时,系统会重定向到demo数据库;但是如果系统中有多个数据库名称中含有demo,如demo2,mydemo...,则系统仍然会进入数据库列表界面,把所有名称含demo的数据库都显示在下拉列表中;
那么如何精确定位到想要的数据库呢?要对db-filter等号右侧的值略作修改,改为如下方式即可:
./openerp-server --db-filter='^%d$' -c /etc/odoo-server.conf &
这时候再通过域名demo.myhost.com访问,系统会直接重定向到demo库,而不管系统中是否有其他名称含demo的库。

另外,如果系统中找不到过滤的库时(如通过域名demo.myhost.com访问而系统中无demo数据库),则会重定向到数据库管理页面。
显而易见无须赘言的是,以上的测试需要你能(gou)访(mai)(le)myhost.com域名,并且已配置了二级域名demo.myhost.com。

(如通过域名demo.myhost.com访问而系统中无demo数据库),则会重定向到数据库管理页面。
显而易见无须赘言的是,以上的测试需要你能(gou)访(mai)问(le)myhost.com域名,并且已配置了二级域名demo.myhost.com。
在这里插入图片描述

7、创建模块
7.1 windows环境执行:

python odoo-bin scaffold 模块名称 模块目录

目录结构:
在这里插入图片描述

7.2 开启开发模式加载模块
7.2.1 设置激活开发模式

在这里插入图片描述

7.2.2 更新odoo.conf文件中的addons_path = D:\odoo_test\odoo\test_odoo_dir和启动命令中的--addons-path D:\odoo_test\odoo\test_odoo_dir
7.2.3 更新apps list 新增模块

在这里插入图片描述
若在apps list找不到新增模块,检查odoo.conf文件和启动命令中addons_path 配置,还不能找到需要在新增模块的__manifest__.py中增加'application': True,,并重新启动服务

7.3 安装新增app

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值