ubuntu2404下搭建Odoo18开发环境

Odoo在windows下也可以开发,不过执行速度比较慢,经过我测试,重启一下服务,windows下需要十几秒甚至几十秒,而mac或者ubuntu只需要几秒钟。

另外,官方推荐的生产环境也是ubuntu,所以,建议使用ubuntu作为开发环境,ubuntu lts最新版的是ubuntu24.04.

一、运行环境安装

1、ubuntu系统安装

从官网网站下载iso镜像,然后做成U盘启动盘,通过U盘安装,具体过程略。

安装完成后更新系统软件,并安装git

# 这一步是更新系统软件列表
sudo apt update    
# 这一步才是真正的更新软件
sudo apt upgrade   
#关闭防火墙。
sudo ufw disable  
#安装git
sudo apt install git -y
# 安装相关依赖
sudo apt install python3-pip python3-dev libxml2-dev libxslt1-dev libldap2-dev libsasl2-dev libssl-dev libpq-dev libjpeg-dev -y

odoo18要求的python版本要在3.10以上,ubuntu2404默认安装了python3.12.

odoo@odoo-ubuntu2404:~/$ python3 --version
Python 3.12.3

2、下载odoo源码并安装依赖

在进行第一步的时候,可有再开一个终端窗口来做下面的操作。

cd ~
git clone https://github.com/odoo/odoo.git --depth 1 --branch 18.0 --single-branch odoo18
如果速度慢,可以用码云的镜像
git clone https://gitee.com/mirrors/odoo.git --depth 1 --branch 18.0 --single-branch odoo18
cd odoo18
# 安装venv
sudo apt install python3.12-venv -y
# 创建pyton虚拟环境
python3 -m venv venv
#激活虚拟环境
source venv/bin/activate
# 安装odoo的相关依赖
pip install -r requirements.txt 
# 最后一步耗时可能比较长,所以需要耐心等待一会,如果安装报错,可以等上一步的安装完成后再试一次。

3、安装并配置postgresql数据库

sudo apt install postgresql postgresql-contrib -y

新建数据库,新建数据库账户,并赋权
注意: 数据库用户名和系统用户名最好保持一致,这样就可以直接用系统当前用户登陆pg数据库.
用pg的管理账户打开psql客户端工具

sudo su - postgres
psql

创建数据库账户并赋予管理员权限。

create user odoo with password 'odoo';
alter role  odoo with superuser;

4、通过配置文件启动odoo

跟odoo-bin同一目录下,新建odoo-conf配置文件,写入下列内容:

[options]
addons_path = addons
admin_passwd = admin
db_host = 127.0.0.1
db_port = 5432
db_name = odoo
dbfilter = odoo
db_user = odoo
db_password = odoo

通过配置文件启动:

python odoo-bin -c odoo.conf 

至此,运行环境成功搭建。 先在可以打开http://127.0.0.1:8069,就能看到odoo的登录页面了,默认的管理员账号和密码都是admin。

二、开发环境安装

1、安装vscode

不要通过系统自带的软件包工具 ubuntu software安装,自己去官网下载来安装。
https://code.visualstudio.com/download
下载完成后通过下面命令安装:

sudo dpkg -i   code*.deb

运行scode,安装以下扩展
python
简体中文
通义灵码(或者codegeex)

创建启动配置文件launch.json

{// 使用 IntelliSense 了解相关属性。 // 悬停以查看现有属性的描述。// 欲了解更多信息,请访问: https://go.microsoft.com/fwlink/?linkid=830387"version": "0.2.0","configurations": [{"name":"Python: 当前文件","type":"python","request":"launch","program":"${file}","console":"integratedTerminal","justMyCode":true},{"name": "odoo18-run","type": "python","python": "${command:python.interpreterPath}","request": "launch", // launch 启动程序  attach调试程序"program": "${workspaceFolder}/odoo-bin","console": "integratedTerminal","justMyCode": false,"args": ["-c","${workspaceFolder}/odoo.conf", "--dev=xml"]}]
}

按住ctrl+shift+p,弹出命令窗口,选择Python解释器,这一步也可以不做,vscode默认会选择当前目录下的虚拟环境。

2、安装pgadmin

odoo使用的是portgresql数据库,需要安装数据库管理工具pgadmin

步骤 1. 首先,通过运行以下命令确保所有系统包都是最新的 apt 终端中的命令。

sudo apt install software-properties-common apt-transport-https wget ca-certificates libpq5 gnupg2 -y

步骤 2. 在 Ubuntu 24.04 上安装 pgAdmin。

默认情况下,pgAdmin 在 Ubuntu 24.04 基础存储库中不可用。 现在运行以下命令将 pgAdmin 存储库添加到您的 Ubuntu 系统:

sudo sh -c 'echo "deb https://ftp.postgresql.org/pub/pgadmin/pgadmin4/apt/$(lsb_release -cs) pgadmin4 main" > /etc/apt/sources.list.d/pgadmin4.list'

接下来,使用以下命令导入 GPG 密钥:

sudo apt install curl -y
curl  -fsSL https://www.pgadmin.org/static/packages_pgadmin_org.pub | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/pgadmin.gpg

启用存储库后,现在使用以下命令安装最新版本的 pgAdmin:

sudo apt update
sudo apt install pgadmin4 -y

3、填坑

1、更换pip源

odoo是基于python开发的,我们需要通过pip安装大量的第三方python软件包,如果安装python的依赖包比较慢,建议更换pip的镜像源。

mkdir ~/.pip 
sudo gedit ~/.pip/pip.conf

将下面内容复制到pip.conf中

[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
index-index-url = https://mirrors.aliyun.com/pypi/simple/ 
[install]
trusted-host =pypi.tuna.tsinghua.edu.cnmirrors.aliyun.com
国内可用的其他源
阿里云 [http://mirrors.aliyun.com/pypi/simple/]中国科技大学 [https://pypi.mirrors.ustc.edu.cn/simple/]豆瓣(douban) [http://pypi.douban.com/simple/]清华大学 [https://pypi.tuna.tsinghua.edu.cn/simple/]中国科学技术大学 [http://pypi.mirrors.ustc.edu.cn/simple/]华中理工大学:[http://pypi.hustunique.com/]山东理工大学:[http://pypi.sdutlinux.org/]

2、安装搜狗输入法

ubuntu2404自带的输入法相比以前的版本已经比较好用了,如果想体验再好一点,可以安装搜狗输入法

2.1、安装相关依赖

sudo apt install fcitx
sudo apt install libqt5qml5 libqt5quick5 libqt5quickwidgets5 qml-module-qtquick2
sudo apt install libgsettings-qt1

2.2、下载安装文件:

到搜狗输入法官网https://shurufa.sogou.com/ 下载对应的安装包,选linux个人版,然后再弹出的窗口中选择X86-64

安装指导:https://shurufa.sogou.com/linux/guide

3、安装谷歌浏览器

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb 
sudo dpkg -i google-chrome*

4、安装wkhtmltopdf

步骤一,wkhtmltopdf 下载,可能需要翻墙

官网地址: wkhtmltopdf 根据系统类型下载需要安装版本
先安装依赖,在安装下载好的软件包

sudo apt install xfonts-75dpi
sudo dpkg -i wkhtmltox_0.12.6.1-2.jammy_amd64.deb 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/56933.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

xx.sh: 行 2: $‘\r‘:未找到命令

一、解决方案 先说解决方案:使用 dos2unix 工具将文件的换行符转换为 Unix 格式 sudo apt install dos2unix dos2unix scripts/v1_5/eval/textvqa.sh二、具体问题 再分析具体问题 在运行本地的一个sh文件时,出现无法找到命令的报错 bash scripts/v1…

2015年-2016年 软件工程程序设计题(算法题)实战_c语言程序设计数据结构程序设计分析

文章目录 2015年1.c语言程序设计部分2.数据结构程序设计部分 2016年1.c语言程序设计部分2.数据结构程序设计部分 2015年 1.c语言程序设计部分 1.从一组数据中选择最大的和最小的输出。 void print_maxandmin(double a[],int length) //在一组数据中选择最大的或者最小的输出…

JavaWeb合集08-项目开发实战

八、项目开发 1、项目搭建 1.1 配置配置文件 application.properties文件 spring.application.namemybatis_testspring.datasource.driver-class-namecom.mysql.cj.jdbc.Driver spring.datasource.urljdbc:mysql://localhost:3306/homepage spring.datasource.usernameroot sp…

闪迪sd卡如何恢复删除的内容?这3种方法很实用

在数字时代,闪迪SD卡因其便携性、高容量和稳定性,成为我们日常生活中不可或缺的数据存储设备。然而,数据丢失的风险也如影随形,一个不小心的误删除、格式化或是其他意外情况,都可能让我们珍贵的照片、视频、文档等重要…

Vue详细入门(语法【一】)

今天滴学习目标!!! Vue1. 什么是Vue.js2. Vue是怎么使用的嘞3. MVVM是什么嘞?4. Vue有哪些指令1. v-bind2.v-model3.v-if 和 v-else4. v-for5. v-show6. v-on 咱们先了解一下什么是Vue,Vue是怎么使用的嘞,V…

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-19

计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-19 目录 文章目录 计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-19目录1. What makes your model a low-empathy or warmth person: Exploring theOrigins of Personality in LLMs摘要研究背景算…

小公司团队管理:8个你需要知道的要点

小公司要想管理好团队,关键在于明确的目标与愿景、有效的沟通机制、灵活的激励制度、培养团队协作精神、领导者以身作则。其中,有效的沟通机制尤为重要。建立畅通的沟通渠道,不仅可以提高工作效率,还能及时发现并解决问题&#xf…

MatLab Desired port was :31515解决方案

前言:使用的MatLabR2022b今天突然出现了错误,在程序中打不开文件。后尝试了下面的方法,可以解决。 解决方法一: 搜索栏输入:firewall.cpl 找到相关项,右键属性,设置为允许。 之后就可以了…

【个人同步与备份】电脑(Windows)与手机/平板(Android)之间文件同步

文章目录 1. syncthing软件下载2. syncthing的使用2.1. 添加设备2.1.1. syncthing具备设备发现功能,因此安装好软件,只需确认设备信息是否对应即可2.1.2. 如果没有发现到,可以通过设备ID连接2.1.3. 设置GUI身份验证用户,让无关设备…

FloodFill 算法(DFS)

文章目录 FloodFill 算法(DFS)图像渲染岛屿数量岛屿的最大面积被围绕的区域太平洋大西洋水流问题扫雷游戏衣橱整理 FloodFill 算法(DFS) 漫水填充(Flood Fi)算法是一种图像处理算法,在计算机图形学和计算机视觉中被广泛…

阿里开源Multi-(llm)Agent应用框架: Agentscope探究与学习

1. 架构图 2. 核心概念 Core Concepts 2.1 Message(消息) 是信息的载体(例如指令、多模态数据和对话内容)。在AgentScope中,消息是Python字典的子类, 具有name和content作为必要字段,url作为可…

[项目详解][boost搜索引擎#1] 概述 | 去标签 | 数据清洗 | scp

目录 一、前言 二、项目的相关背景 三、搜索引擎的宏观原理 四、搜索引擎技术栈和项目环境 五、正排索引 VS 倒排索引--原理 正排索引 分词 倒排索引 六、编写数据去除标签和数据清洗模块 Parser 1.数据准备 parser 编码 1.枚举文件 EnumFile 2.去标签ParseHtml(…

【CSS in Depth 2 精译_048】7.2 CSS 响应式设计中的媒体查询原则(中):页面断点(breakpoint)样式的添加

当前内容所在位置(可进入专栏查看其他译好的章节内容) 【第七章 响应式设计】(概述) 7.1 移动端优先设计原则(上篇) 7.1.1 创建移动端菜单(下篇)7.1.2 给视口添加 meta 标签&#xf…

「数学::快速幂」矩阵快速幂运算|快速斐波那契数列 / LeetCode 509(C++)

目录 概述 思路 算法过程 复杂度 Code 概述 LeeCode 509: 斐波那契数 (通常用 F(n) 表示)形成的序列称为 斐波那契数列 。该数列由 0 和 1 开始,后面的每一项数字都是前面两项数字的和。也就是: F(0) 0&#xff…

linux--库指令

ldd ldd 可执行文件路径 显示依赖的库的查找路径以及是否查找到了。

Request2:Post请求和Json

百度翻译拿到自己想看的数据,下图查看请求到数据的请求 preview提前看下 取出对应的RequestUrl ,看出来要使用的话得用post请求 #!/usr/bin/env python # -*- coding:utf-8 -*- import requests import json if __name__ "__main__":#1.指定…

SAP物料凭证报表字段调整

业务场景: 报表MB51的输入和输出字段调整: 输入(选择界面) 输出界面 可以看到在这是没有布局调整的 后台路径: SPRO-物料管理-库存管理和实际库存-报表-定义物料凭证列表的字段选择 事务码:SM30-V_MMI…

FPGA学习(6)-基础语法参数化设计阻塞与非阻塞

目录 1.两种参数化不改变源文件,只改仿真文件的值 2.参数化设计实现模块的重用 2.1不用参数化方法 2.1.1源文件 2.1.2仿真文件 2.1.3仿真波形及实验 2.2 用参数方法 2.2.1调用之前写的led灯闪烁模块,在本源函数中,例化4次调用之前的模…

史上最烂 spring transaction 原理分析

史上最烂 spring transaction 原理分析 事务定义、事务作用、事务特性、生命周期、数据库事务三种运行模式、数据库事务控制、并发事务问题、隔离级别、数据库事务实现原理、spring 事务传播行为、spring 事务核心组件、spring boot 事务相关组件、事务嵌套原理、编程式事务与声…

51单片机的万年历【proteus仿真+程序+报告+原理图+演示视频】

1、主要功能 该系统由AT89C51/STC89C52单片机LCD1602显示模块时钟模块按键蜂鸣器等模块构成。适用于电子万年历、数字时钟万年历等相似项目。 可实现功能: 1、LCD1602实时显示年月日星期和北京时间,具备闰年判断功能 2、按键可设置闹钟时间 3、按键可修改当前时…