这两天开始看《Odoo快速入门与实践  Python开发ERP指南》(刘金亮 2019年5月第1版 机械工业出版社)。试着在Ubuntu上安装Odoo,遇到很多问题,通过在网上查找,都已解决。这里把这些解决方法汇集了一下,一方面是整理一下自己的思路,另一方面也是希望能为遇到同样问题的朋友提供一个解决思路。

这本书中的环境是:Ubuntu 16,Python3.5。 我使用的环境为Ubuntu18,Python3.8

首先创建Python虚拟环境,这其中也遇到一些问题,但可以通过在网上查找资料解决,这里就不再赘述。

接着是更新依赖包,并使用git克隆Odoo源码。

1. 按照原书2.1.3节安装Odoo依赖包。首先激活虚拟环境,然后书中的代码安装依赖包:

  1 $ sudo pip3 install Babel ......

注意:此命令安装的是所有依赖包的最新版本

2. 安装PostgreSQL数据库

  1 sudo apt-get install -y postgresql

安装完成后,创建数据库用户。特别注意,由于PostgreSQL数据库的用户与Ubuntu系统的用户一致(我自己理解),所以原书中在前面各步骤开始前创建了一个odoo的Ubuntu用户,并切换到odoo用户(即用odoo用户登录Ubuntu),之后的所有步骤都以odoo身份执行,所以此处创建的也是名为odoo的PostgreSQL数据库用户。但我没有注意到书中用户切换的操作,所以在创建数据库用户时,我以当前登录Ubuntu的用户名来创建数据库用户,后面的操作也是可以正常执行的。

一般来说,在Unix/Linux中,对于一些服务类大型应用(如数据库管理系统)都会创建对应的系统用户(如Oracle会创建Oracle的系统用户),对该用户充分授权,并在该用户下安装对应的应用,这样是基于权限和安全考虑。但现在是学习,也是可以使用一个用户来安装的。

3. 安装中文字体及报表打印需要的wkhtmltopdf

4. 启动Odoo服务

Odoo服务可正常启动,但在浏览器中访问时,先后出现以下问题:

错误:

TypeError: el is undefined

http://192.168.*.*:8069/web/content/223-119b3fb/web.assets_common.js:4729

追溯:

computeFloatOuterWidthWithMargins@http://192.168.*.*:8069/web/content/223-119b3fb/web.assets_common.js:4729:90

_adapt@http://192.168.*.*:8069/web/content/223-119b3fb/web.assets_common.js:4728:477

later@http://192.168.*.*:8069/web/content/223-119b3fb/web.assets_common.js:142:255

错误:

TypeError: el is undefined

http://192.168.*.*:8069/web/static/src/js/core/dom.js:671

追溯:

computeFloatOuterWidthWithMargins@http://192.168.*.*:8069/web/static/src/js/core/dom.js:671:24

_adapt@http://192.168.*.*:8069/web/static/src/js/core/dom.js:660:35

later@http://192.168.*.*:8069/web/static/lib/underscore/underscore.js:821:25

在StoackOverflow上找到一个解决方案:sudo pip3 install - r requirement.txt,于是按照执行,但安装过程中报了一堆错误,主要有两个方面:

1) 在requirement.txt文件中依赖包指定的版本与前面原书中指定的Odoo依赖包的版本有冲突,后者的版本高于前者;

2)关于psycopg2包的安装报错

解决:

对于1)中的错误,我的做法是将requirement.txt中包的版本指定为最新版本号(要注意安装条件中对环境的指定)

对于2)中的错误,按网上查到的解决方法,安装psycopg2-binary。

通过上面的措施,解决问题,再次启动Odoo服务,在浏览器中可以正常显示了。

在Ubuntu上安装Odoo时遇到的问题的更多相关文章

  1. ubuntu上安装adt时无法在线安装的问题

    安装了新的ubuntu系统之后,就得重新布置android开发环境了. 找了网上的教程,一步一步做,到了在eclipse上在线下载adt总是出现 Unable to connect to reposi ...

  2. ubuntu上安装Eclipse时遇到的一个错误

    A Java Runtime Environment (JRE) or Java Development Kit (JDK)must be available in order to run Ecli ...

  3. 在阿里云的ubuntu服务器上安装xampp时出现unable to realloc unable to realloc 8380000 bytes错误

    在阿里云的ubuntu服务器上安装xampp时出现unable to realloc unable to realloc 8380000 bytes错误 解决:增加Swap空间(阿里云缺省没有分配任何 ...

  4. Ubuntu上安装MongoDB(译)

    add by zhj:直接从第四步开始就可以了,而且安装好MongoDB后会自动启动的,不必自己去执行启动命令 原文:https://docs.mongodb.com/manual/tutorial/ ...

  5. ubuntu上安装mysql 编译安装

    为什么要折腾?首先说明的是ubuntu上安装mysql等软件是非常容易简单的,其简单的程度盖过windows上的安装,一句sudo apt-get install就可以搞定.如果想用最简便的方法安装m ...

  6. Ubuntu上安装和使用SSH,Xming+PuTTY在Windows下远程Linux主机使用图形界面的程序

    自:http://blog.csdn.net/neofung/article/details/6574002 Ubuntu上安装和使用SSH  网上有很多介绍在Ubuntu下开启SSH服务的文章,但大 ...

  7. 【转载】如何在Ubuntu上安装LAMP服务器系统?

    转载自:http://os.51cto.com/art/201307/405333.htm [2013年7月25日 51CTO外电头条]为何应该在Ubuntu上安装LAMP服务器?从事Web开发工作时 ...

  8. [转载]如何在Ubuntu上安装LAMP服务器系统

    [2013年7月25日 51CTO外电头条]为何应该在Ubuntu上安装LAMP服务器?从事Web开发工作时,我更偏爱在不受干扰的情况下,在我那台计算机上的开发环境下进行开发.我宁愿所犯的错误大部分是 ...

  9. Ubuntu 上安装 Freemind 并支持中文

    Ubuntu 上安装 Freemind 并支持中文 JAVA 运行时 Freemind 是一个使用 Java 编写的思维导图工具,在安装时,需要到 Java 运行时(使用 OpenJRE 或 Orac ...

随机推荐

  1. halcon简易标定代码

    read_image (Image, 'C:/Users/HJ/Desktop/demo1/4.bmp') threshold(Image, Region, 110, 255) closing_cir ...

  2. Python图像处理丨图像腐蚀与图像膨胀

    摘要:本篇文章主要讲解Python调用OpenCV实现图像腐蚀和图像膨胀的算法. 本文分享自华为云社区<[Python图像处理] 八.图像腐蚀与图像膨胀>,作者: eastmount . ...

  3. Mac平台下git命令自动补全

    一.安装bash-completion 安装Homebrew /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com ...

  4. c语言编译器介绍

    目录 一.IDE(集成开发环境) 1.windows 编译器 2.Mac中使用 二.环境安装 1.windows安装gcc A.进入安装所在目录,找到MinGW. B.找到我的电脑,右键选择属性. C ...

  5. httpdns是个什么技术,有什么用

    dns解析现状问题1:暴利的dns劫持 要说为啥会出现httpdns(先不用管意思,后面解释),那么,首先要说一下,现在的dns解析,是不是有啥问题? dns能有啥问题呢,就是输入一个域名xxx.co ...

  6. 我已经说了5种css居中实现的方式了,面试官竟然说还不够?

    这是一篇关于居中对齐方式的总结 开篇之前,先问一下大家都知道几种居中的实现方式? 面试时答出来两三个就不错了,就怕面试官还让你继续说.今天就来总结一下这些居中的方式 使用flex布局设置居中. 使用f ...

  7. idea引入fastjson的jar包:ClassNotFound

    idea 手动添加fastjson的jar包时,既在项目依赖里添加了,又在WEB-INF下的lib库里添加了 但是启动后就是加载不到,报错:ClassNotFound 尝试了好久,也参考了网上的许多建 ...

  8. python 部分内置函数详解

    简介 eval与exec eval和exec都是python内置的可以执行python代码的函数,但它们之间有所区别. eval(expression[, globals[, locals]]) ex ...

  9. CentOS Docker安装 && docker 基础指令

    1 # 直接从官网下载docker的安装命令包(docker已经很贴心将安装shell脚本帮我们准备好了) 2 curl -fsSL get.docker.com -o get-docker.sh 3 ...

  10. 【PMP学习笔记】第4章 项目整合管理

    [PMP学习笔记]第4章 项目整合管理 一.项目整合管理 什么是项目整合管理? 项目整合管理由项目经理负责.虽然其他知识领域可以由相关专家(如成本分析专家.进度规划专家.风险管理专家)管理,但是项目整 ...