一、获取 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. [Umbraco] Data Type的扩展编程

    继续从上面的Data Types的自定义控件说起.前面用到了自定义控件的数据绑定,虽然这使得我们可以调用外部数据了,但这似乎还比较死板,如果再调用其他数据,还得再创建一个控件,那样的话就会出现类似的功 ...

  2. vs2017 对dockerfile的支持

    项目添加 dockerfile Docker file 内容 FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base WORKDIR /app EXP ...

  3. Java实现二叉树先序,中序,后序,层次遍历

    一.以下是我要解析的一个二叉树的模型形状.本文实现了以下方式的遍历: 1.用递归的方法实现了前序.中序.后序的遍历: 2.利用队列的方法实现层次遍历: 3.用堆栈的方法实现前序.中序.后序的遍历. . ...

  4. Storm官方提供的trident单词计数的例子

    上代码: public class TridentWordCount { public static class Split extends BaseFunction { @Override publ ...

  5. (转)Linux top命令的用法详细详解

    原文:https://yq.aliyun.com/articles/399004?spm=a2c4e.11153940.blogcont399002.9.3a19f00aHOA3SH# 摘要: 首先介 ...

  6. Eclipse安装ModelGoon控件(ModelGoon控件反向生成UML)

    Eclipse安装ModelGoon 1 下载ModelGoon到本地,放在eclipse的安装目录下 2 打开Eclipse,点击Help,选择Install new software 3 点击ad ...

  7. Jenkins邮箱设置

    首先需要在系统管理--系统设置中设置系统管理员邮件地址: 然后在邮件通知里设置用户名密码,可以发生测试邮件 这里需要注意的是上面的系统管理员邮件地址必须和用户名一致 还需要注意的是测试邮件可能被当做垃 ...

  8. SimpleVisitorMemberType类的visitClassType解读

    举个例子,如下: class CA<T>{ public T getVal(){ return null; } } interface IA{} interface IB{} public ...

  9. mybatis随笔一之SqlSessionFactoryBuilder

    SqlSessionFactoryBuilder是构建sqlSessionFactory的入口类 从该类的方法可知,它是通过不同的入参来构造SqlSessionFactory,除了最后一个config ...

  10. Python基础之白话说函数

    转自白月黑羽Python3教程之函数:http://www.python3.vip/doc/tutorial/python/0005/ 什么是函数 人类语言里面,我们不仅会给人和物起名字, 比如 小张 ...