ubuntu2404下搭建Odoo18开发环境

news2024/10/18 21:23:25

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.cn
    mirrors.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.coloradmin.cn/o/2218029.html

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

相关文章

【GESP】C++一级练习BCQM3049,细胞分裂

GESP一级知识点整形int和for循环练习。 题目题解详见:【GESP】C一级练习BCQM3049,细胞分裂 | OneCoder 【GESP】C一级练习BCQM3049,细胞分裂 | OneCoderGESP一级知识点整形int和for循环练习。https://www.coderli.com/gesp-1-bcqm3049/ C …

微服务--Ribbon负载均衡器

Nacos 本身里面就内置了Rabbion, 所以 不需要额外添加 添加LoadBalanced注解: Rabbion 内置的有好几种 负载均衡器 可以根据业务去选择,我们一般不会额外配置 都是默认的轮询,因为我们是基于docker发布的 大家的资源都是平等的 若…

Vue.js + Element UI 实现多方式登录功能(账号/手机号验证码登录)

引言 在现代Web应用中,提供多种登录方式已成为一种标准做法,这不仅能提升用户体验,还能满足不同用户的需求。本文将详细介绍如何使用Vue.js框架结合Element UI组件库,实现一个包含账号登录和手机号验证码登录两种方式的登录页面。…

Leetcode 单词规律

即判断给定的模式字符串(pattern)和单词字符串(s)是否遵循相同的对应规则。具体来说,就是要判断 pattern 中的字符与 s 中的单词是否存在一一对应的关系,即双射(bijection)。 算法思…

ant design vue TimePicker时间选择器不点击确认也可以设置值

文章目录 前言一、背景二、操作步骤1.复现前的准备工作(1)vue版本和ant design vue 版本(2)任意ant design vue TimePicker的demo 2.解决问题(1)使用change时间(无效)(2&…

【学习】word保存图片

word中有想保存的照片 直接右键另存为的话,文件总是不清晰,截屏的话,好像也欠妥。 怎么办? 可以另存为 网页 .html 可以得到: 原图就放到了文件夹里面

在线白板:为远程课堂注入活力的协作工具

在线白板作为一种协作平台,极大地丰富了远程教学的互动性和创造性。在即时白板的帮助下,教师能够与学生共同在虚拟空间中创作和交流,实现知识的共享与思维的碰撞。 https://js.design/?sourcecsdn&planjh1018 首先,在线白板…

Spring Security 基础配置详解(附Demo)

目录 前言1. 基本知识2. Demo3. 实战 前言 基本的Java知识推荐阅读: java框架 零基础从入门到精通的学习路线 附开源项目面经等(超全)【Java项目】实战CRUD的功能整理(持续更新) 1. 基本知识 HttpSecurity 是 Spri…

【计算机网络 - 基础问题】每日 3 题(四十五)

✍个人博客:https://blog.csdn.net/Newin2020?typeblog 📣专栏地址:http://t.csdnimg.cn/fYaBd 📚专栏简介:在这个专栏中,我将会分享 C 面试中常见的面试题给大家~ ❤️如果有收获的话,欢迎点赞…

基于Spring Cloud的电商系统设计与实现——用户与商品模块的研究(上)

操作系统:Windows Java开发包:JDK1.8 项目管理工具:Maven3.6.0 项目开发工具:IntelliJIDEA 数据库:MySQL Spring Cloud版本:Finchley.SR2 Spring Boot版本:2.0.6.RELEASE 目录 用户模块—user-…

机器学习-RBF

径向基函数内核 – 机器学习 内核在将数据转换为更高维空间方面发挥着重要作用,使算法能够学习复杂的模式和关系。在众多的内核函数中,径向基函数(RBF)内核作为一种多功能且强大的工具脱颖而出。在本文中,我们深入探讨了RBF内核的复杂性,探讨了它的数学公式、直观理解、…

【分布式知识】MapReduce详细介绍

文章目录 MapReduce概述1. MapReduce编程模型Map阶段Reduce阶段 2. Shuffle和Sort阶段3. MapReduce作业的执行流程4. MapReduce的优化和特性5. MapReduce的配置和调优 MapReduce局限性相关文献 MapReduce概述 MapReduce是一个分布式计算框架,它允许用户编写可以在大…

使用串口中断接收时遇到的小问题(单字节接收,固定多字节接收,不定长字节接收)

单字节接收 在cubemx初始化串口1,打开串口中断 在usart。c文件中修改中断回调函数 //串口接收回调函数 void HAL_UART_RxCpltCallback(UART_HandleTypeDef *huart) { if( huart &huart1)//判断中断源 { if(g_ucUsart1ReceiveData 0x01) { …

Java使用原生HttpURLConnection实现发送HTTP请求

1、HttpURLConnection 类的介绍 HttpURLConnection 是 Java 提供的原生标准的用于发送 HTTP 请求和接收 HTTP 响应的一个类,它位于 java.net 包下,并继承了 URLConnection 类。 HttpURLconnection 是基于 HTTP 协议的,支持 get,…

Flink有状态计算

前言 状态是什么?状态就是数据,准确点说,状态是指 Flink 作业计算时依赖的历史数据或中间数据。如果一个 Flink 作业计算依赖状态,那它就是有状态计算的作业,反之就是无状态计算的作业。 举个例子,服务端…

【高阶数据结构】揭开红黑树‘恶魔’的面具:深度解析底层逻辑

高阶数据结构相关知识点可以通过点击以下链接进行学习一起加油!二叉搜索树AVL树 大家好,我是店小二,欢迎来到本篇内容!今天我们将一起探索红黑树的工作原理及部分功能实现。红黑树的概念相对抽象,但只要我们一步步深入…

单链表算法题(二)(超详细版)

前言 : 通过算法题 , 学习解决问题的思路 , 再面对类似的算法题时 , 能快速定位解决方案 一 . 链表的回文结构 链表的回文结构 : 链表的回文结构_牛客题霸_牛客网 思路一 : 创建新链表 , 对原链表进行反转,结果存储在…

计算机毕业设计Python深度学习房价预测 房源可视化 房源爬虫 二手房可视化 二手房爬虫 递归决策树模型 机器学习 深度学习 大数据毕业设计

温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 房地产是促进我国经济持续增…

Google play开发者账号被封,申诉就有机会,别不信

在谷歌上架,开发者账号被封对很多开发者来说已经是家常便饭了,虽说一直都有在流传申诉没有用。别灰心啊,申诉就有机会,不少开发者都申诉成功了。 尤其是用一个少一个、价值好几个w的老号,不申诉就认栽实在是太亏了&…

Bootstrap 弹出框(Popover)插件

弹出框(Popover)与工具提示(Tooltip)类似,提供了一个扩展的视图。如需激活弹出框,用户只需把鼠标悬停在元素上即可。弹出框的内容完全可使用 Bootstrap 数据 API(Bootstrap Data API&#xff09…