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.hqwc.cn/news/341941.html

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

相关文章

深入探讨:开发连锁餐饮APP的关键技术要点

时下,开发一款功能强大、用户友好的连锁餐饮APP成为许多餐饮企业的当务之急。在本文中,我们将深入探讨开发连锁餐饮APP的关键技术要点,涵盖了前端、后端以及数据库等方面。 一、前端开发 前端是用户与APP交互的入口,因此设计良好…

Oladance、南卡、Cleer开放式耳机怎么样?全方位测评大PK!

​开放式耳机作为新兴的音频设备领域中备受欢迎的选择,但市场上琳琅满目的产品汇集了质量千差万别的耳机,其中存在着一些粗制滥造的产品。身为一位音频设备测评博主,我经常收到有关哪个品牌的开放式耳机质量好的疑问。面对市面上众多选择&…

JAVA微信公众号开发平台源码带数据库

JAVA微信公众号开发平台源码带数据库 前台框架: easyui 后台框架: SpringMVChibernate

Proteus仿真stm32f103r6输出PWM/正弦波

资料下载地址:Proteus仿真stm32f103r6输出PWM/正弦波 一、仿真图 Proteus仿真stm32f103r6输出PWM/正弦波 二、程序 #include "pbdata.h"u16 fre; void RCC_Configuration(void); void GPIO_Configuration(void); void TIM3_Configuration();void Dela…

C++学习笔记——继承和动态内存分配

目录 一、继承 二、动态内存分配 三、继承的细节 四、动态内存分配细节 五、一个动物园管理系统 继承和动态内存分配是C中两个重要的概念 一、继承 继承是C中面向对象编程的一个重要特性,它允许我们创建一个新类,该类从现有的类中继承属性和方法&…

oracle-事务一系列理解

一个事务开始后,会被分配一个唯一的id号,xid,xid不仅是一个编号也是一个地址。 事务表 存在undo表空间的某一个段的段头块,最多存放47个事务,事务开始的时候,先将信息写入这个表,所以一个undo段…

【android】rk3588-android-bt

文章目录 蓝牙框架HCI接口蓝牙VENDORLIBvendorlib是什么 代码层面解读vendorlib1、 vendorlib实现,协议栈调用2、协议栈实现,vendorlib调用(回调函数)2.1、 init函数2.2、BT_VND_OP_POWER_CTRL对应处理2.3、BT_VND_OP_USERIAL_OPE…

Golang的API项目快速开始

开启一个简单的API服务。 golang的教程网上一大堆,官网也有非常详细的教程,这里不在赘述这些基础语法教程,我们意在快速进入项目开发阶段。 golang好用语法教程传送门: m.runoob.com/go/ 编写第一个API 前提:按照上一…

基于单片机的智能导盲杖设计(论文+源码)

1.系统设计 本文基于STC89C52单片机微处理器进行研究的一种智能手杖系统需要同时实现超声波自动测距、语音自动报警、距离自动显示、电机震动报警、led指示灯灯光明灭自动提醒等多种功能,在手机通信提醒模式下手机用户可拨打固定手机电话信号实现手机通信提醒功能。…

几款优秀科学开源计算软件介绍

有一些比较优秀的软件,它们在科学计算、数据处理和分析方面具有广泛的应用和功能。以下是一些比较知名的软件: SciPy:SciPy是一个非常流行的科学计算库,提供了大量的数学函数和算法,用于解决各种科学问题。它支持多种操…

互联网大厂职场各职级P6/P7和核心能力

目录 具体能力要求总结 具体能力要求 专业工匠 p5 被别人带领p6 独立完成项目全流程,指导 2-3 人 乐队指挥 p7 带行政团队 7-10 ,项目团队,专项团队,复杂系统设计 1-3 个一般系统构成p8 领域专家 垂直 3 个团队 ,横…