在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 ...
随机推荐
- Spring框架系列(13) - SpringMVC实现原理之DispatcherServlet的初始化过程
前文我们有了IOC的源码基础以及SpringMVC的基础,我们便可以进一步深入理解SpringMVC主要实现原理,包含DispatcherServlet的初始化过程和DispatcherServlet ...
- 关于cpu体系架构的一些有趣的故事分享
从排查一次匪夷所思的coredump,引出各种体系架构的差异. 本文中的所有内容来自学习DCC888的学习笔记或者自己理解的整理,如需转载请注明出处.周荣华@燧原科技 1 背景 从全世界有记载的第一台 ...
- GitHub相关资料&&可以参加的开源项目
GitHub相关的资料 有不懂的地方时可以看GitHub Docs. GitHub tutorial GitHub glossary GitHub的字典,可以看到里面特定的概念. All about ...
- protobuf 的交叉编译使用(C++)
前言 为了提高通信效率,可以采用 protobuf 替代 XML 和 Json 数据交互格式,protobuf 相对来说数据量小,在进程间通信或者设备之间通信能够提高通信速率.下面介绍 protobu ...
- IDea折叠模块快捷键-*04
如何折叠IntelliJ IDEA代码片段 IntelliJ IDEA 快捷键说明大全(转载) idea 字体_IDEA 新手实用插件分享:让你的 IDEA 逼格瞬间提升
- SpringBoot数据库管理 - 用flyway对数据库管理和迁移
上文介绍了Liquibase,以及和SpringBoot的集成.除了Liquibase之外,还有一个组件Flyway也是经常被使用到的类似的数据库版本管理中间件.本文主要介绍Flyway, 以及Spr ...
- 云表平台VS永中office,谁更胜一筹?
20年前,永中软件在国外办公软件独霸江山以及盗版软件肆意横行的夹缝中呱呱坠地. 经过永中人日日夜夜的不懈奋斗,永中Office V1.0面世. 永中科技 从创立之初永中软件便预见了独立创新.自主可控的 ...
- dockerfile操作
简介 Dockerfile 是一个用来构建镜像的文本文件,文本内容包含了一条条构建镜像所需的指令和说明. 上下文路径 如下是一个简单的基于dockerfile创建镜像的命令,我们注意到启动处理镜像名和 ...
- python 线程理解
简介 一个应用程序由多个进程组成,一个进程有多个线程,一个线程则是操作系统调度的最小单位,当应用程序运行时,操作系统根据优先级和时间片调度线程(决定此时此刻执行哪个线程). python的线程 pyt ...
- Linux系列之管理用户环境变量
前言 环境变量控制你在Linux工作环境中的外观.行为和感觉.一共有两种类型的变量: 环境变量:这些是内置于系统中的进程范围的变量,控制着系统的外观和行为.因为是进程范围的,所以它们被任何子shell ...