一、获取 Odoo 源码

Odoo 是一个开源项目,我们可以轻松的在 Github 上找到它的源码。
本次中使用的是 12.0 版本的 Odoo,所以在拉取代码时选择 12.0 的分支。
确保拉取的速度,使用--depth参数。



git clone https://github.com/odoo/odoo.git -b 12.0 --depth=1 ./odoo_dev



 

二、启动Odoo

odoo python 使用 osm修改 odoo框架 python_python

在Odoo的源码根目录下有一个 odoo-bin 的 Python 脚本文件,这个是 Odoo 的启动脚本。
运行该脚本之后会在8069默认端口启动 Odoo 服务,启动之前需要运行 pipenv shell 进入虚拟环境:

方法一:

如果是用 Pycharm 启动首先需要在 Preferences > Project > Project Interpreter > Add > Existing Environment 中 将使用 pipenv 生成的 Python 添加进去,一般 pipenv 生成的虚拟环境目录在 ~/.local/share/virtualenvs/,如果是按照上一篇生成的虚拟环境, 则目录则为 ~/.local/share/virtualenvs/odoo_env-* (* 号为随机字符串)。

方法二:



$ pipenv shell



 

进入虚拟环境后就可以运行 Odoo 启动脚本啦(其实还没完成!!):



$ ./odoo-bin



启动后会出现这样:



2019-03-18 15:30:44,198 14047 INFO ? odoo: Odoo version 12.0 
2019-03-18 15:30:44,199 14047 INFO ? odoo: Using configuration file at /home/ray/.odoorc 
2019-03-18 15:30:44,199 14047 INFO ? odoo: addons paths: ['/home/ray/.local/share/Odoo/addons/12.0', '/home/ray/odoo_dev/odoo/addons', '/home/ray/odoo_dev/addons'] 
2019-03-18 15:30:44,199 14047 INFO ? odoo: database: odoo@default:default 
2019-03-18 15:30:44,373 14047 INFO ? odoo.addons.base.models.ir_actions_report: You need Wkhtmltopdf to print a pdf version of the reports. 
2019-03-18 15:30:44,544 14047 INFO ? odoo.service.server: HTTP service (werkzeug) running on ray-virtual-machine:8069 
2019-03-18 15:30:44,545 14047 INFO ? odoo.modules.loading: init db 
2019-03-18 15:30:45,709 14047 INFO odoo odoo.modules.loading: loading 1 modules...



然后你访问https://IP:8069,这时候会报错,出现Server 500

原因是我们还没有在 Odoo 启动配置文件里配置数据库账号和密码,但是 Odoo 的启动配置文件在哪里呢??

这是让我们使用 ./odoo-bin --help,你会发现需要带参数。



$ ./odoo-bin --help
...
  Common options:
    -c CONFIG, --config=CONFIG
                        specify alternate config file
    -s, --save          save configuration to ~/.odoorc (or to
                        ~/.openerp_serverrc if it exists)
...



我们可以看到有 -c-s,

-c代表我们可以自己知道启动的配置文件。

-s 是Odoo 会在 home 目录下生成 .odoorc 配置文件,并且用 -c 参数可以指定启动的配置文件。

若不指定 Odoo 的运行配置文件,并且 home 目录下存在 .odoorc 配置文件,则 Odoo 默认会选择这个作为启动的配置文件。

所有我们可以先运行./odoo-bin -s , 先创建home目录下的一个.odoorc配置文件:



$ ./odoo-bin -s



然后编辑 ~/.odoorc 文件,将 db_user 和 db_password 分别修改为我们在安装 PostgreSQL时设置的用户 odoo 和这个用户的密码。



...
db_password = 123456
...
db_user = odoo
...



 

再次运行启动脚本启动 Odoo,这时已经可以成功访问 http://localhost:8069 了,并且进入的是一个数据库选择页面, 我们可以直接选择 odoo 数据库或者点击 「Manage Databases」跳转到数据库创建页面。

这里是进入我在pycharm指定的odoo数据库了。账号和密码默认都是admin。

odoo python 使用 osm修改 odoo框架 python_配置文件_02

登录成功后:

odoo python 使用 osm修改 odoo框架 python_python_03

 

 

 

 

 

PS:

正常的话照上面的步骤就是可以完成odoo的启动的,但是有时候事情并不是一帆风顺,总会出现错误,下面就来说说我在搭建的过程中出现的错误吧:

错误一:odoo删除数据库后出现的KeyError:'ir.http',在我成功搭建后,手贱把odoo用户中的一个数据库删掉了,导致在./odoo-bin -s 启动的时候出现了此错误

odoo python 使用 osm修改 odoo框架 python_配置文件_04

解决办法:

①首先看一下配置文件的数据库信息是否正确

②在pycharm中,在Run /Debug Configurations 里输入 -i base -d 新数据库名

odoo python 使用 osm修改 odoo框架 python_配置文件_05