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的主要特点和功能:
-
包管理系统:Conda可以帮助您安装、更新和删除软件包。它提供了一个广泛的软件包仓库,包括Python包和其他语言的包,可以满足各种需求。
-
环境管理系统:Conda允许您创建和管理多个独立的环境,每个环境都可以有不同的软件包和版本。这使得在不同项目之间轻松切换和管理依赖关系成为可能。
-
跨平台支持:Conda可以在多个操作系统上运行,包括Windows、macOS和Linux。这使得在不同的开发环境中保持一致性变得更加容易。
-
依赖关系解决:Conda可以自动解决软件包之间的依赖关系,确保安装的软件包与其他软件包兼容。这减少了手动解决依赖关系的工作量。
-
虚拟环境: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(环境名称) --all
https://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。