一、获取 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的源码根目录下有一个 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。

登录成功后:

PS:

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

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

解决办法:

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

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

更新中...

记录搭建Odoo框架的更多相关文章

  1. 手工搭建ABP框架(1) - Web项目

    为了防止不提供原网址的转载,特在这里加上原文链接: http://www.cnblogs.com/skabyy/p/7295533.html ABP是 ASP.NET Boilerplate Proj ...

  2. IDEA搭建SSMM框架(详细过程)

    IDEA搭建SSMM框架(详细过程) 相关环境 Intellij IDEA Ultimate Tomcat JDK MySql 5.6(win32/win64) Maven (可使用Intellij ...

  3. 第n次搭建 SSM 框架

    什么说第 N 次搭建SSM框架呢? 刚学习java的时候,搭建 SSM 框架想做一个个人项目之类的,后来没搭起来,也就拖延了,进入公司之后,接触的第一个项目就是SSM的,模仿了一下,也能搭个简简单单的 ...

  4. 使用maven搭建ssm框架的javaweb项目

    目前主流的javaweb项目,常会用到ssm(Spring+Spring MVC+Mybatis)框架来搭建项目的主体框架,本篇介绍搭建SSM框架的maven项目的实施流程.记之共享! 一.SSM框架 ...

  5. 使用Maven搭建SSM框架(Eclipse)

    今天学习一下使用Maven搭建SSM框架,以前都是用别人配置好的框架写代码,今天试试自己配置一下SSM框架. 这里我的参数是Windows7 64位,tomcat9,eclipse-jee-neon- ...

  6. 一步一步教你用IntelliJ IDEA 搭建SSM框架(1)

    1.基本概念 SSM框架指:Spring MVC + Spring + MyBatis Spring MVC是一种web层mvc框架,用于替代servlet,处理|响应请求,获取表单参数,表单校验等 ...

  7. 使用maven搭建ssm框架环境

    1.前言 因为经常换环境,在搭ssm框架的时候老是出错,所以记录一下最近搭建的环境,以供参考. 本文讲解如何使用maven搭建ssm框架,并能用于简单的登录注册. IDE:IDEA,JDK版本:1.8 ...

  8. 使用maven搭建ssh框架

    首先搭建sturts2框架,配置pom文件: <properties> <!-- 文件拷贝时的编码 --> <project.build.sourceEncoding&g ...

  9. myeclipse搭建SSH框架

    搭建SSH框架 Struts+hibernater+spring架构(myeclipse) 右击,首先加入spring,加入hibernater,再加入struts2 复制jar包(把tomcat发布 ...

随机推荐

  1. webApp在各大Android市场上的发布

    本来打算每个月都写上一篇博客的,可是计划永远赶不上变化,不过这其中也有自己的懒惰,果然过年让整个人懈怠了不少.年后一直在赶项目以致于到今天才动手写这篇文章. 这一篇主要写点在公司的要求下发布的webA ...

  2. 【sping揭秘】9、容器内部事件发布(二)

    写在前面---------------------------------- 命运多舛,痴迷淡然 不知下一步该往哪里走,现在应该是我的迷茫期... 加油,快点走出去!!! 聪明的网友们,你们有没有迷茫 ...

  3. 【tomcat】servlet原理及其生命周期

    1.什么是servlet? Servlet(Servlet Applet),全称Java Servlet,是用Java编写的服务器端程序.而这些Servlet都要实现Servlet这个接口.其主要功能 ...

  4. Oracle 11g安装时针对不同操作系统所需的依赖包查询地址

    http://docs.oracle.com/cd/E11882_01/install.112/e24326/  点击连接,出现页面,往下滑动:)

  5. (转)CentOS一键安装Nginx脚本

    原文:https://www.xiaoz.me/archives/10301 https://blog.slogra.com/post-676.html-----centos7一键安装nginx脚本

  6. ABP集成WIF实现单点登录

    ABP集成WIF实现单点登录 参考 ojlovecd写了三篇关于WIF文章. 使用WIF实现单点登录Part III —— 正式实战 使用WIF的一些开源示例. https://github.com/ ...

  7. WTF小程序之原生遇见mpvue

    事情是这样的,我们有一个原生(wxml,wxss,js,json)写的小程序,要加入一个新的模块,并且时间比较紧张.所以我们选择了采用mpvue开发一个分包(subpackage),加入到原生小程序中 ...

  8. js去除字符串中的标签

    var str="<p>js去除字符串中的标签</p>"; var result=str.replace(/<.*?>/ig,"&qu ...

  9. css box-reflect投影实例讲解

    box-reflect一共有以下几个属性: above: 指定倒影在对象的上边 below: 指定倒影在对象的下边 left: 指定倒影在对象的左边 right: 指定倒影在对象的右边 offset: ...

  10. CentOS 7下搭配简单的C语言开发环境

    在CentOS 7下安装gcc,gcc是编译和运行C语言的工具, 安装命令: yum install gcc 中途如果有询问则输入y 安装成功后,通过以下命令 gcc --version 来查看安装的 ...