在Ubuntu上安装Odoo时遇到的问题
这两天开始看《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 undefinedhttp://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时遇到的问题的更多相关文章
- ubuntu上安装adt时无法在线安装的问题
安装了新的ubuntu系统之后,就得重新布置android开发环境了. 找了网上的教程,一步一步做,到了在eclipse上在线下载adt总是出现 Unable to connect to reposi ...
- ubuntu上安装Eclipse时遇到的一个错误
A Java Runtime Environment (JRE) or Java Development Kit (JDK)must be available in order to run Ecli ...
- 在阿里云的ubuntu服务器上安装xampp时出现unable to realloc unable to realloc 8380000 bytes错误
在阿里云的ubuntu服务器上安装xampp时出现unable to realloc unable to realloc 8380000 bytes错误 解决:增加Swap空间(阿里云缺省没有分配任何 ...
- Ubuntu上安装MongoDB(译)
add by zhj:直接从第四步开始就可以了,而且安装好MongoDB后会自动启动的,不必自己去执行启动命令 原文:https://docs.mongodb.com/manual/tutorial/ ...
- ubuntu上安装mysql 编译安装
为什么要折腾?首先说明的是ubuntu上安装mysql等软件是非常容易简单的,其简单的程度盖过windows上的安装,一句sudo apt-get install就可以搞定.如果想用最简便的方法安装m ...
- Ubuntu上安装和使用SSH,Xming+PuTTY在Windows下远程Linux主机使用图形界面的程序
自:http://blog.csdn.net/neofung/article/details/6574002 Ubuntu上安装和使用SSH 网上有很多介绍在Ubuntu下开启SSH服务的文章,但大 ...
- 【转载】如何在Ubuntu上安装LAMP服务器系统?
转载自:http://os.51cto.com/art/201307/405333.htm [2013年7月25日 51CTO外电头条]为何应该在Ubuntu上安装LAMP服务器?从事Web开发工作时 ...
- [转载]如何在Ubuntu上安装LAMP服务器系统
[2013年7月25日 51CTO外电头条]为何应该在Ubuntu上安装LAMP服务器?从事Web开发工作时,我更偏爱在不受干扰的情况下,在我那台计算机上的开发环境下进行开发.我宁愿所犯的错误大部分是 ...
- Ubuntu 上安装 Freemind 并支持中文
Ubuntu 上安装 Freemind 并支持中文 JAVA 运行时 Freemind 是一个使用 Java 编写的思维导图工具,在安装时,需要到 Java 运行时(使用 OpenJRE 或 Orac ...
随机推荐
- 基于 Github Actions 自动部署 Hexo 博客
前言 前不久使用了 Hexo 搭建独立博客,我是部署在我的腾讯云轻量应用服务器上的,每次都需要 hexo deploy 然后打包.上传.解压和刷新 CDN,非常麻烦.我的服务器配置也不高 2C2G 无 ...
- while循环&&连接的两个条件
做题的时候出现这种情况,把while中用&&连接的两个条件交换一下就会报错. 原因是 while 中是先检查第一个条件,如果第一个就为false就不看下一个了.如果第一个是true再检 ...
- 阈值PSI代码
阈值PSI 若交集数量超过某个给定阈值时,允许分布式的各个参与方在自己集合中找到交集,且除了交集外,得不到其他额外信息. 实现论文: Multi-Party Threshold Private Set ...
- 传统 API 管理与测试过程正面临严峻的挑战
随着测试左移思想的引入, API (应用程序编程接口)经济的飞速增长导致对 API 管理平台的需求相应增加.越来越多的企业注重并关注接口测试.单纯的做接口测试或者做好接口测试的本质工作其实并不复杂: ...
- ETL工具 (二)sqoop 数据同步工具
Sqoop简介 将关系数据库(oracle.mysql.postgresql等)数据与hadoop数据进行转换的工具. 官网: http://sqoop.apache.org/ 版本:(两个版本完全不 ...
- 控制台字体怎么改为console?
windows控制台窗口在中文版下没有console字体,如果要使用console的话就必须先将窗口转换为英文版. 1.win+R进入运行窗口,然后cmd进入命令窗口 2.在命令行窗口输入 chcp ...
- CF1702A Round Down the Price 题解
题意:给定一个数 \(n\),找出一个数为 \(10^k \leq n\),求二者的差. 建立一个数组,储存 \(10^k\),每次直接查询求差输出. 注意数据范围. #include<cstd ...
- BootStrapBlazor 安装教程--Server模式
使用模板 使用模板是最简单的办法.因为项目模板里已经包含了BootStrapBlazor的所有需要配置的内容. 首先我们安装项目模板: dotnet new -i Bootstrap.Blazor.T ...
- C#基础-面向对象详解
面向对象详解 一.什么是面向对象 1>面向对象是一种程序设计思想 2>面向过程和面向对象是什么? 例如要把大象放冰箱怎么做? 面向过程:打开冰箱门->把大象扔进去->关上冰箱门 ...
- Java开发学习(十八)----AOP通知获取数据(参数、返回值、异常)
前面的博客我们写AOP仅仅是在原始方法前后追加一些操作,接下来我们要说说AOP中数据相关的内容,我们将从获取参数.获取返回值和获取异常三个方面来研究切入点的相关信息. 前面我们介绍通知类型的时候总共讲 ...