一、win10下搭建odoo18开发环境
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
一般下载次新版, 我们选择16.4的版本。
安装过程中需要设置postgres用户密码,这是pg的超级用户,跟sqlserver的sa类似。
一路next,安装完成后打开服务,看看postgres服务起来没有。
如果服务启动失败,可有手工建一个bat文件,包含如下内容,这样双击这个文件就可以手工启动pg服务。
"D:\Program Files\PostgreSQL\16\bin\pg_ctl.exe" start -D "D:\Program Files\PostgreSQL\16\data" -w
odoo不允许用超级用户postgres连接数据库,所有我们需要创建一个新的数据库账户odoo。
打开pgadmin4, 新建用户,
输入用户名
输入密码
赋予权限,注意要给superuser权限,因为需要使用odoo这个账户创建数据库。
也可以通过命令行来创建
create user odoo with password 'odoo';
alter role odoo with superuser;
4.2 下载odoo源码
odoo版本介绍:
社区版:
企业版:
二者使用的底层框架是一样的,区别在于支持的模块不同。
最新版是odoo18,odoo18相对odoo17增加了AI的支持,外观更加美观,体验更好,底层框架变动其实不大。
github源码地址:https://github.com/odoo/odoo (可能需要翻墙)
gitee镜像:https://gitee.com/mirrors/odoo?_from=gitee_search
从gitee下载比较快。
4.3 安装python并且创建虚拟环境安装相关依赖
https://www.python.org/downloads/windows/
注意: python3.12 经过测试有问题,启动服务特别慢,详情请参考这里。
进入odoo18源码目录创建虚拟环境并安装依赖
python -m venv venv
激活虚拟环境
venv/venv/activate.ps1
安装依赖
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
在win10+python11+odoo18的安装过程中没碰到这个问题。
4.4 下载并安装vscode
安装python插件
按ctrl+shift+p 输入Python 选择python解释器, 这里选择在上一步中配置好的虚拟环境
添加odoo.conf, 注意这里的db_name是可以随意填的,odoo会自动检测数据库是否存在,如果不存在,odoo会自动创建并初始化它。
[options]
addons_path = addons,
db_host = 127.0.0.1
db_port = 5432
db_name = odoo18
db_filter = odoo18
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": "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"]
}
]
}
4.5 运行odoo
在vscode中点击运行按钮,
(py11odoo18) PS D:\BaiduSyncdisk\odoo\odoo-18.0> & 'd:\ProgramData\anaconda3\envs\py11odoo18\python.exe' 'c:\Users\Administrator\.vscode\extensions\ms-python.debugpy-2024.10.0-win32-x64\bundled\libs\debugpy\adapter/../..\debugpy\launcher' '5713' '--' 'D:\BaiduSyncdisk\odoo\odoo-18.0/odoo-bin' '-c' 'D:\BaiduSyncdisk\odoo\odoo-18.0/odoo.conf' '--dev=xml'
-' 'D:\x5cBaiduSyncdisk\x5codoo\x5codoo-18.0/odoo-bin' '-c' 'D:\x5cBaiduSyncdisk\x5codoo\x5codoo-18.0/odoo.conf' '--dev=xml' ;f0027ea0-c1a5-400d-9c89-385acbae38eb2024-10-09 08:32:33,072 4308 INFO ? odoo: Odoo version 18.0
2024-10-09 08:32:33,073 4308 INFO ? odoo: Using configuration file at D:\BaiduSyncdisk\odoo\odoo-18.0\odoo.conf
2024-10-09 08:32:33,073 4308 INFO ? odoo: addons paths: ['D:\\BaiduSyncdisk\\odoo\\odoo-18.0\\odoo\\addons', 'd:\\odoo_data_18\\addons\\18.0', 'd:\\baidusyncdisk\\odoo\\odoo-18.0\\addons', 'd:\\baidusyncdisk\\odoo\\odoo-18.0\\odoo\\addons']
2024-10-09 08:32:33,073 4308 INFO ? odoo: database: odoo@127.0.0.1:5432
然后再浏览器中打开http://127.0.0.1
大功告成。
作者简介:老赵专注于用Odoo来帮助中小企业实现数字化转型,微信:wx156277468,加我微信进Odoo学习交流群。