odoo17基础培训1-odoo开发基础知识准备以及odoo17开发环境安装

odoo17基础培训

一、odoo开发基础知识准备以及odoo17开发环境安装

1、odoo是什么?

当我介绍客户使用odoo系统作为业务管理平台时,有时会被问到Odoo是什么?

简单点,可以这么说: Odoo是一套完整的系统,是一个开源框架,针对 ERP 的需求发展而来,适合定制出符合客户各种需求的ERP系统、电子商务系统、CMS、或者是网站。

由于 Odoo 的底层结构很强大,所有模块都可以根据需要进行安装和御载,所以客户能够像搭积木一样建构自己期望的系统。即使完全不安装与ERP相关的模块,仅利用 Odoo 自身的底层框架,也能构建出适合各种用途的系统,纯 B/S 架构。而这一切都是免费的,并且不受限于源代码,也不受于用户数。

Odoo 是一系列开源商业应用程序套装,此套装可以满足公司的绝大部分应用需求,例如,基本的进销存管理、采购、销售、MRP生产制造、质量管理、HR、休假管理、用车管理、IM通讯、CRM客户关系管理、电子商务、网站,财务会计、资产管理、WMS仓库管理、POS连锁、项目管理、条码、PLM等等。

https://zhuanlan.zhihu.com/p/388748782

在这里插入图片描述

2、学习odoo需要的基础知识

2.1、后端:python

编程语言排行榜:https://hellogithub.com/report/tiobe/

python特点:

1、语法简单,容易上手

2、第三方库众多

人生苦短、我用python

官网: https://www.python.org/

学习资料:https://www.runoob.com/python/python-tutorial.html

2.2、前端:html、css、JavaScript

学习资料推荐: 菜鸟教程https://www.runoob.com/

B站视频:pink老师的视频 https://www.bilibili.com/video/BV14J4114768/?spm_id_from=333.337.search-card.all.click&vd_source=42b07826977d09765ec11b9fa06715e5

建议: 先掌握概念和框架,不要太过于重视细节,对编程而言,思路更重要。

切忌: 买大块头书,深入去研究。 等到用的时候,又忘了。

好读书,不求甚解,等到真正用的时候再去深入学习。

边学边做,边做边学,这是掌握一门技术最快的方法。

3、开发工具

下面这两款都是非常优秀的集成开发工具,选择任何一个都可以。

pycharm: 专业的python开发工具,社区版够用了。缺点是本身用java开发的,比较费资源。如果机器性能不好,可能运行比较慢。

vscode: 微软开发的轻量的集成开发工具,通过插件可以支持多钟语言开发,前端开发利器。 也有很多人用来做odoo开发。相对pycharm占用资源较少。

4、开发环境搭建

4.1 下载并安装postgres数据库

下载地址:https://www.enterprisedb.com/downloads/postgres-postgresql-downloads

一般下载次新版, 我们选择15.5的版本。

安装过程中需要设置postgres用户密码,这是pg的超级用户,跟sqlserver的sa类似。

odoo不允许用超级用户postgres连接数据库,所有我们需要创建一个新的数据库账户odoo。

打开pgadmin4, 新建用户,

在这里插入图片描述

输入用户名

在这里插入图片描述

输入密码

在这里插入图片描述

赋予权限,注意要给superuser权限,因为需要使用odoo这个账户创建数据库。

在这里插入图片描述

也可以通过命令行来创建

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

4.2 下载odoo源码

odoo版本介绍:

社区版:

企业版:

二者使用的底层框架是一样的,区别在于支持的模块不同。

最新版是odoo17,odoo17相对odoo16做了很多优化,整体体验更加丝滑,运行更加流畅!

github源码地址:https://github.com/odoo/odoo (可能需要翻墙)

gitee镜像:https://gitee.com/mirrors/odoo?_from=gitee_search

从gitee下载比较快。

4.3 下载minconda

Conda是一个开源的包管理系统和环境管理系统,用于在不同的操作系统上安装、管理和协调软件包和其依赖关系。它是Anaconda发行版的一部分,Anaconda是一个用于科学计算和数据科学的Python发行版。

以下是一些Conda的主要特点和功能:

  1. 包管理系统:Conda可以帮助您安装、更新和删除软件包。它提供了一个广泛的软件包仓库,包括Python包和其他语言的包,可以满足各种需求。

  2. 环境管理系统:Conda允许您创建和管理多个独立的环境,每个环境都可以有不同的软件包和版本。这使得在不同项目之间轻松切换和管理依赖关系成为可能。

  3. 跨平台支持:Conda可以在多个操作系统上运行,包括Windows、macOS和Linux。这使得在不同的开发环境中保持一致性变得更加容易。

  4. 依赖关系解决:Conda可以自动解决软件包之间的依赖关系,确保安装的软件包与其他软件包兼容。这减少了手动解决依赖关系的工作量。

  5. 虚拟环境:Conda允许您创建虚拟环境,这是一个独立的Python环境,其中包含特定版本的Python和所需的软件包。这使得在不同项目之间隔离和管理依赖关系变得更加容易。

总而言之,Conda是一个功能强大的包管理和环境管理工具,可以帮助您轻松地安装、管理和协调软件包和其依赖关系。它在科学计算、数据科学和机器学习等领域非常受欢迎,并被广泛用于构建和管理复杂的软件环境。

修改windows脚本运行策略:

用管理员运行powershell:

PS C:\WINDOWS\system32> Set-ExecutionPolicy RemoteSigned
PS C:\WINDOWS\system32> conda init powershell

conda常用命令

(1)创建虚拟环境conda create -n env_name(环境名称) python=3.7(对应的python版本号)
(2)激活虚拟环境conda activate env_name(环境名称)
(3)退出虚拟环境deactivate env_name(环境名称)
(4)删除虚拟环境conda remove -n env_name(环境名称) --allhttps://blog.csdn.net/ligous/article/details/124209700

如果不能识别conda命令,说明path环境变量有问题,设置一下环境变量即可 。

进入odoo17目录安装依赖

conda activate py11
pip install -r requirements.txt

这里有个坑 ,requirements.txt 中有一个库叫 libsass,安装它 需要C++的编译环境, 我们也不值得为了安装它去下载几个G的C++环境。这里可以下载编译好的版本。 先将requirements.txt文件中libsass那一行注释掉。然后到pypi网站https://pypi.org/project/libsass/#files下载对应平台的文件。

pip install ./libsass-0.23.0-cp38-abi3-win_amd64.whl
然后继续安装
pip install -r requirements.txt

4.4 下载并安装vscode

安装python插件

按ctrl+shift+p 输入Python 选择python解释器, 这里选择在conda中配置好的虚拟环境

添加odoo.conf, 注意这里的db_name是可以随意填的,odoo会自动检测数据库是否存在,如果不存在,odoo会自动创建并初始化它。

[options]
addons_path = addons,
db_host = 127.0.0.1
db_port = 5432
db_name = odoo17
db_user = odoo
db_password = odoo
load_language = zh_CN
log_level = info
admin_passwd =admin
http_port = 80

添加vscode启动脚本

{// 使用 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": "odoo17-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"]//,"-u","hx_hr,hx_gift,estate","--dev=xml"}]
}

4.5 填坑

昨天讲课到最后,vscode无法识别py11的虚拟环境,解决方案如下:

1、修改path环境变量,如下图所示:

在这里插入图片描述

2、重启vscode

按ctrl+shift+p 选择python解释器,如果还没出现我们建的虚拟环境,那么点击第一项,手工输入解释器路径

在这里插入图片描述

然后点击find
在这里插入图片描述

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

在弹出的对话框中选择py11的路径, C:\ProgramData\miniconda3\envs\py11, 注意 C:\ProgramData 这是个隐藏目录。

在这里插入图片描述

选中python,然后点击Select Interpreter按钮就返回vscode了,然后用vscode成功运行odoo。

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

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

相关文章

ssm基于web的电影购票系统+vue论文

摘 要 如今社会上各行各业,都喜欢用自己行业的专属软件工作,互联网发展到这个时候,人们已经发现离不开了互联网。新技术的产生,往往能解决一些老技术的弊端问题。因为传统电影购票信息管理难度大,容错率低&#xff0c…

使用 C++/WinRT 的集合

在内部,Windows 运行时集合具有大量复杂的移动部件。 但要将集合对象传递到 Windows 运行时函数,或要实现自己的集合属性和集合类型时,C/WinRT 中有函数和基类可以提供支持。 这些功能消除复杂性,并节省大量时间和精力上的开销。 …

指定GPU无效

今天在进行模型训练的时候遇到这样一个问题:我想要模型在第1块显卡上进行训练,但是不论怎么指定GPU,模型始终是在第0块显卡上进行训练,很是不理解为什么这样? 经过查找资料,发现一个问题:如果在…

Python基础知识:整理14 利用pyecharts生成地图

1 地图可视化的基本使用 from pyecharts.charts import Map from pyecharts.options import VisualMapOpts # 准备地图对象 map Map()# 准备数据 data [("北京市", 8), ("上海市", 99), ("广州省", 199), ("重庆市", 400), ("…

在FFmpeg源码下增加自定义程序

为了了解FFmpeg解码的细节,使用avcodec_send_packet和avcodec_receive_frame组合,写了一个简单的例子,解码video生成yuv文件,比起用FFmpeg跟踪代码要简单很多。 但是问题是在FFmpeg下编译的ffmpeg/ffplay都可以直接跟踪调试&…

什么是RESTful接口风格

开头语: 大家好!欢迎来到本篇博客,今天我们将深入讨论RESTful接口风格。RESTful是一种设计风格,用于构建可扩展、可维护的网络服务。本文将为您介绍RESTful的基本概念、设计原则以及实际应用中的一些技巧。 RESTful接口风格分享&…

el-popover设置 :visible 手动关闭弹窗后,无法点击空白处关闭弹窗。

<script setup lang"ts"> import { ref, unref } from "vue"; import { ClickOutside as vClickOutside } from "element-plus";const popoverShow ref(false); //是否显示 const popoverRef ref();/**点击空白处隐藏 */ const onClickO…

DSL查询文档--各种查询

DSL查询文档 elasticsearch的查询依然是基于JSON风格的DSL来实现的。 1查询所有 结果&#xff1a; 2全文检索&#xff08;full text&#xff09;查询 常见的全文检索查询包括&#xff1a; match查询&#xff1a;单字段查询 multi_match查询&#xff1a;多字段查询&#xff…

.NET开源免费、企业级、可商用内容管理系统 - SSCMS

前言 今天给大家推荐一款基于.NET Core开源、企业级、可商用、能够以最低的成本、最少的人力投入在最短的时间内架设一个功能齐全、性能优异、规模庞大并易于维护的内容管理系统&#xff1a;SSCMS。 系统官方介绍 SSCMS 内容管理系统基于微软 .NET Core 平台开发&#xff0c…

黑马程序员SpringBoot2-开发实用篇

视频连接&#xff1a;开发实用篇-67-手工启动热部署_哔哩哔哩_bilibili 热部署 手动启动热部署 热部署仅包含restart的过程。 自动启动热部署 按CtrlAltShift/打开下列界面。 禁用热部署 配置高级 ConfigurationProperties 宽松绑定/松散绑定 常用计量单位绑定 数据校验 设置…

Android音视频编码(2)

Android本身提供了音视频编解码工具&#xff0c;很多时候是不需要第三方工具的&#xff0c;比如ffmpeg, OpenCV等&#xff0c;在android中引入第三库比较复杂&#xff0c;在Android音视频编码中介绍了如何引入第三方库libpng来进行进行图片处理&#xff0c;同时引入这些第三方库…

JVM内存区域详解,一文弄懂JVM内存【内存分布、回收算法、垃圾回收器】

视频讲解地址 学习文档 一、内存区域 区域描述线程私有如何溢出程序计数器为了线程切换后能恢复到正确的执行位置&#xff0c;每个线程都要有一个独立的程序计数器。✅唯一一个不会内存溢出的地方虚拟机栈1. 每个方法执行的时候&#xff0c;Java虚拟机都会同步创建一个栈帧用于…

获取当前设备的IP

背景&#xff1a; 在本地使用自带webUI的项目时&#xff0c;需要制定webUI的访问地址。 一般本地访问使用&#xff1a;127.0.0.1&#xff0c;配置为可以从其他设备访问时&#xff0c;需要指定当前设备的IP&#xff0c;或者指定为0.0.0.0。 例如&#xff1a;使用locust的时候&a…

【Python学习】Python学习18- 方法OS 文件/目录方法

目录 【Python学习】Python学习17- File方法 前言os.access()语法&#xff1a; os.chdir(path)语法 os.chflags(path, flags)语法 os.chmod(path, mode)os.chown(path, uid, gid)os.chroot(path)os.close(fd)os.unlink(path)os.popen(command[, mode[, bufsize]])os.read(fd, …

Python--循环语句

在 Python 中&#xff0c;循环语句用于重复执行一段代码多次。Python 主要提供了两种类型的循环&#xff1a;for 循环和 while 循环。 1. for 循环 for 循环用于遍历可迭代对象&#xff08;如列表、元组、字典、字符串等&#xff09;中的每个元素&#xff0c;并对每个元素执行…

[NOIP2009 提高组] 潜伏者

一起来交流编程吧【CSDN app】&#xff1a; http://qm.qq.com/cgi-bin/qm/qr?_wv1027&kx9pL9ccIHGKNLE0CWviAqQ_q6HzxomLW&authKeyVslKe623ptw8VRepda%2Bh0Ttr8Ruz8v%2FBW5HpVzyTWU7ECwpHIZpULMj6qIHYZBVb&noverify0&gro [NOIP2009 提高组] 潜伏者 题目描述…

精通业务:资深程序员的核心优势

在IT行业&#xff0c;我们常常听到关于技术实力、项目经验、团队协作等方面的讨论&#xff0c;但有一个重要因素常常被忽视&#xff0c;那就是对业务的了解。 对于资深程序员来说&#xff0c;懂业务和不懂业务之间的区别&#xff0c;犹如一道深邃的鸿沟&#xff0c;决定着他们…

MCS-51---串行通信的特点

目录 一.同步通信和异步通信 1.异步通信 2.同步通信 二.串行通信的方式 1.单工 2.半双工 3.全双工 三.串行通信的速率 四.MCS-51单片机结构 五.串行口的控制 1.串行口控制寄存器(SCON) 2.电源控制寄存器(PCON) 六.波特率的设计 七.串行口的工作方式 1.方式0 2.…

DM数据库安装注意事项

数据库安装注意事项 一、安装前 一些参数需要在数据库创建实例前找用户确认。 参数名参数掩码参数值备注数据页大小PAGE_SIZE32数据文件使用的页大小(缺省使用8K&#xff0c;建议默认&#xff1a;32)&#xff0c;可以为 4K、8K、16K 或 32K 之一&#xff0c;选择的页大小越大…

k8s存储卷之动态

动态pv需要两个组件 1、卷插件&#xff0c;k8s本身支持的动态pv创建不包含NFS&#xff0c;需要声明和安装一个外部插件 Provisioner 存储分配器&#xff0c;动态创建pv&#xff0c;然后根据pvc的请求自动绑定和使用 2、StorageClass&#xff0c;用来定义pv的属性&#xff0c…